본문 바로가기
반응형

쿼리문5

MERGE INTO 를 사용해 봅시다. 테이블을 조회해서 해당 조건으로 데이터가 존재하면 업데이트 하고 없으면 쑤셔 넣는다는 똑똑한 녀석이다. 실제 쿼리문에서 테이블명이랑 컬럼명만 임의로 막 변경한 거라서 대충 흐름만 보도록 하자. 잘 보다보니 이 놈을 이용해서 시퀀스 넘버도 가져와서 넣을 수 있다. 좋다. ON 부분에는 다중 조건을 쓸 수 있다. UPDATE나 INSERT를 할때 USING 문에서 뽑아온 값으로 넣을 수도 있다. MERGE INTO seq_table f USING ( select col1, col2, col3, col4, col5 , (select max(sqno) + 1 from seq_table x where t.col1 = x.col1 and t.col2 = x.col2 ) as seqno from base_table .. 2010. 9. 17.
각 그룹 금액의 합의 비율금액의 합계 쿼리.... 뭐야 -_-;; 여차저차 하여 비율에 따라 그룹의 합을 구하고 각각 그룹의 금액 * 비율 한 금액의 합을 구하는데 그 총계만 가져와야 할 일이 생겼었다. 비율 금액 10 100 10 200 10 300 20 100 20 300 이런 데이터라면 10 600 20 400 이렇게 그룹이 지어지고 600 * 0.1 = 60 400 * 0.2 = 80 요거의 합 60 + 80 = 140 이렇게 나와야 하는 경우다. 혹자는 이렇게 의문을 가질 수도 있다. 각각의 비율 금액을 계산해서 걍 더하면 되지 않느냐고..?? 좋다. 근데 이게 소수점을 안 가지고 있고 절사 금액 이라면 1, 10 단위의 오차가 발생한다. 뭐... 어떤 용도로 사용하고 계산법은 어떻게 나와야 하느냐에 따른 문제지만 참 거지 같다 -_- 그래서 이런 쿼리가 나왔.. 2010. 9. 17.
숫자 출력 포맷을 지정해 보자 #1. 자리수 찍어 주기 숫자 포맷을 세 자리마다 ,를 찍어 줘보자. SELECT TO_CHAR(number_data, '999,999,999,999') FROM TBL_NAME 이게.. 엄청 간단해 보이지만.. 모르는 사람은 개삽질 하는 거다~ 하하하하하 ...... 끝 2008. 8. 21.
오라클 심심풀이용 SQL문 퀴즈 scott이 가지고 있는 EMP 테이블을 가지고 장난질을 좀 쳐 보기로 합시다. EMP테이블에는 hiredate라고 입사년도가 있습니다. 그걸 가지고~ 아래와 같은 모양으로 출력되게 해 봅시다~ TOTAL 1980 1981 1982 1987 ---------- ---------- ---------- ---------- ---------- 15 1 10 2 1 잠시 생각하셨나요? ㅎㅎ 굳이 옆으로 출력할 필요가 없다면 간단하게 이런식으로 출력할 수 있습니다. SQL> select to_char(hiredate,'YYYY'),count(*) from emp group by to_char(hiredate,'YYYY'); TO_C COUNT(*) ---- ---------- 1980 1 1981 10 1982 .. 2008. 2. 20.
반응형