WITH
깜짝쇼A AS
(
select 번호,
보조번호,
날짜,
공개,
공개예정일
from 깜짝쇼
where 날짜='20160620_03'
),
깜짝쇼B AS
(
select 번호,
보조번호,
날짜,
공개,
공개예정일
from 깜짝쇼
where 날짜 ='20160620_04'
)
SELECT A.*
, B.*
, CASE WHEN A.공개IS NULL OR B.공개IS NULL THEN ''
WHEN A.공개= B.공개THEN ''
ELSE 공개변경'
END 변경Y/N
FROM 깜짝쇼A FULL OUTER JOIN 깜짝쇼B
ON ( A.번호=B.번호AND A.보조번호=B.보조번호)
이런식으로 쿼리를 구성하엿습니다
'깜짝쇼'란 테이블안에 '공개'라는 컬럼이 변경된 값을 출력하려고하는데 ㅠ..자꾸 데이터값이 너무많이나옵니다
20160620_03 = 데이터개수 1000
20160620_04 = 데이터개수 1100
이렇게하면 조인을 잘못하면 2100개가 나오던지해야하는데
2490막 이런식으로나오고..또한 지금 하려고하는것은
날짜컬럼에서 03에서 04 를 비교하여
'공개'가 변경된값을 출력하고
또 새로추가된 a.번호|| a.보조번호는 그대로 출력되게하려고합니다
하...쉬운거같은데 아무리해도 안되니...답답합니다
Comment 1
-
항해자™
2016.06.20 15:15
left outer join을 사용해야 되지 않을까요?