신나는 sql
left outer join, group by를 사용하는 문제였습니다.
같은 테이블을 left outer join합니다
outer table의 name
이 'Yogurt'고 inner table의 name
이 'Milk'인 경우거나
outer table의 name
이 'Milk'고 inner table의 name
이 'Yogurt'인 경우인 outer table의 CART_ID
들에 해당하는 tuple들을 모두 뽑아줍니다.
outer table의 CART_ID
에 대해 그룹화를 적용해줍니다.
SELECT C.CART_ID FROM CART_PRODUCTS C
LEFT OUTER JOIN CART_PRODUCTS CC ON C.CART_ID = CC.CART_ID
WHERE
(C.NAME = 'Yogurt' AND CC.NAME = 'Milk') OR
(C.NAME = 'Milk' AND CC.NAME = 'Yogurt')
GROUP BY C.CART_ID