A테이블은 코드 테이블입니다. 코드와 코드명이 존재합니다.
B테이블은 코드로 A테이블과 조인해서 보여줄 금액과 일자가 있습니다.
보여줄 결과물은
코드명(CNAME), 전일 금액(AMT), 당일 금액(AMT)
가 1000 200
나 500 300
다 700 100
라 300 300
이렇게 보여줘야합니다.
문제는 B테이블은 어느 날은 자료가 없어서 코드테이블과 조인해도 모든 코드가 다 나오지 않는겁니다.
A테이블의 구조는 CODE(코드), CNAME(코드명) 이렇게 되고
B테이블의 구조는 DATE(일자), CODE(코드), AMT(금액) 이렇게 됩니다.
두 테이블을 (+) 조인해도 전일과 당일을 받아서 IN 구문을 쓰면 코드가 다 나오지 않습니다.
제가 짠 쿼리는
SELECT A.CODE
,SUM(CASE WHEN DATE = '어제일자'
THEN AMT
ELSE 0
END) 전일금액
,SUM(CASE WHEN DATE = '오늘일자'
THEN AMT
ELSE 0
END) 당일금액
FROM A
,B
WHERE A.CODE = B.CODE(+)
AND B.DATE IN ('어제일자', '오늘일자')
GROUP BY A.CODE
그룹바이 잡지않고 날짜도 하루만 받으면 잘 나오는데
날짜 IN쓰면 안되고 날짜 지워도 그룹바이 잡아도 모든 코드가 다 나오질 않습니다.
도와주세요.