반응형
블로그 이미지
취미생활 추천받아여~       게임이든, 여가생활이든 :D

카테고리

분류 전체보기 (615)
☆잡동사니 (501)
☆코딩개발 (76)
☆영어공부 (38)
★★★★★★ (0)
Total
Today
Yesterday


반응형

MSSQL에서 사용 가능한 방법입니다.

 

--SELECT * FROM HR.PAYLIST
--SELECT * FROM HR.PAYLISTSUB
--USE ISC_ERP_20140423_KGS

 

 

SELECT BASEDT, EMPLOYEENO, SUM(A.PAY1)AS A , SUM(A.PAY2) AS B
FROM (
SELECT A.BASEDT, B.EMPLOYEENO, SUM(AMOUNT) AS PAY1, SUM(0) AS PAY2 FROM HR.PAYLIST A
LEFT OUTER JOIN HR.PAYLISTSUB B ON A.GUBUN=B.GUBUN AND A.PAYLISTNO=B.PAYLISTNO
WHERE A.BASEDT BETWEEN '201303' AND '201401'
AND B.EMPLOYEENO='2073006'
AND B.PAYITEMCD LIKE 'HR025%'
GROUP BY A.BASEDT, B.EMPLOYEENO

UNION ALL

SELECT A.BASEDT, B.EMPLOYEENO, SUM(0) AS PAY1 , SUM(AMOUNT) AS PAY2 FROM HR.PAYLIST A
LEFT OUTER JOIN HR.PAYLISTSUB B ON A.GUBUN=B.GUBUN AND A.PAYLISTNO=B.PAYLISTNO
WHERE A.BASEDT BETWEEN '201303' AND '201401'
AND B.EMPLOYEENO='2073006'
AND B.PAYITEMCD LIKE 'HR026%'
GROUP BY A.BASEDT, B.EMPLOYEENO
) AS A
GROUP BY EMPLOYEENO, BASEDT

 

하나의 컬럼에 있는 값들을

두가지 조건으로 분리해서 서로 다른 컬럼으로 SELECT 하고싶을때 이 방법을 사용하면 굳굳!!! :D

 

이렇게 UNION ALL을 써서 FROM절로 싸잡은 다음에 뽑으면 됩니다. 그냥 UNION만 썼을때는 PAY1과 PAY2가 합쳐지지가 않기 때문에 FROM절로 싸잡아서 SUM함수를 사용하여 합산한 것입니다. 후후. 정말 기막히 쿼리가 탄생하게 되었습니다. 올레~!

반응형
Posted by 과라나
, |

최근에 올라온 글

04-29 06:41

글 보관함