케이스는 이러했다.

조회 수와 예약 수를 각각 뽑아서 하나의 view로 봐야 하는데

조회 수가 0이면서 예약 수가 0이 아닌 경우,

반대로 예약 수가 0이면서 조회 수가 0이 아닌 경우를 각각 봐야 했다.

이 경우 Join으로는 해결이 되지 않는다.

join은 어디까지나 기준 테이블이 존재하기 때문에, 기준 테이블에 없는 경우 출력되지 않는다.

[나의 경우 full outer join 같은 걸 시도해도 숫자가 맞지 않아 고생했다.]

 

먼저 Select가 대칭되는 모습을 만들어준다.

없을 경우 dummy 컬럼을 만들어 준다.

Select a, b, c, 0 as d from A

Union All

Select a, b, 0 as c, d from B

-----------------------------------

[최종]

Select a, b, c, d from

(Select a, b, c, 0 as d from A

Union All

Select a, b, 0 as c, d from B) as t

+ Recent posts