본문 바로가기

Database

여러 결과를 하나의 칼럼으로 표현 LISTAGG 함수 SELECT A.MNO , LISTAGG(A.NM, ', ') AS NM FROM ( SELECT IA.MNO , IA.ID , IB.NM , ROWNUMBER() OVER(ORDER BY IA.MNO) AS RNUM FROM TABLE1 IA , TABLE2 IB WHERE IA.ID = IB.ID AND IA.USE_YN = IB.USE_YN AND IA.USE_YN = 'Y' ) AGROUP BY A.MNO 표현 및 결과 :http://www.dator.co.kr/dgroup03/textyle/90787 더보기
두개의 테이블 조회 결과값을 하나의 리스트로. union select kor_name,EMAIL,PARTTYPE,'n' from TB_NEWS_SUBSCRIBERunionselect KOR_NAME,EMAIL,PART_TYPE,'y' from tb_userinfo a where a.EMAIL_YN = 'y' select될 컬럼들의 갯수는 동일해야함.중복값은 하나로 나온다.중복값을 확인하려면 union all을 하면 된다.order by의 경우 맨 끝에서 하나의 테이블만 가능하다. 더보기
새로운 컬럼에 일련번호 업데이트하는 쿼리 UPDATE A SETA.SEQ = B.SEQ_ FROM 테이블명 A INNER JOIN (select ROW_NUMBER() OVER ( ORDER BY VERSION,REF_NO) AS SEQ_,* from 테이블명) B ON A.VERSION = B.VERSION AND A.REF_NO=B.REF_NO 더보기
업데이트 쿼리 ^^;; 참고용... UPDATE A SET A.A_FieldName1 = B.B_FieldName1 , A.A_FieldName2 = B.B_FieldName2 FROM A_TABLE A INNER JOIN B_TABLE B ON A.A_IDX = B.B_IDX WHERE A.A_NAME = 'TEST' 더보기
mysql 중복되지 않는 데이터만 입력하는 쿼리 INSERT INTO Rss ( no, TITLE, LINK, PUBDATE, AUTHOR, DATE, ORD, CNAME, NAME, ID) SELECT (select * from (select ifnull(max(no) + 1,0) from rss) as no), #title#, #link#, sysdate(), #author#, sysdate(), (select * from (select ifnull(max(no) + 1,0) from rss) as ord), #cname#, 'SBCAdmin', 'sbcadmin' FROM DUAL WHERE NOT EXISTS (SELECT * FROM Rss WHERE link=#link#) 더보기
0부터 1씩 증가하는 쿼리. select * from (select ifnull(max(컬럼명) + 1,0) from 테이블명) as no insert시에도 value값으로 입력가능 (SELECT ISNULL(MAX(COMMENT_SEQ),0) + 1 FROM TB_EVAL_COMMENT) 더보기