SELECT cart_id
from cart_products
where name in ('milk','yogurt')
group by 1
having count(distinct name) > 1
먼저 milk, yogurt 행들만 필터링하고, 장바구니 id로 group by 한 후 count(distinct name) > 1
을 통해 중복 없을 때 2개 이상의 name을 가진(milk, yogurt) 장바구니 id를 선택한다.
SELECT CART_ID
FROM CART_PRODUCTS
WHERE CART_ID in
(SELECT CART_ID
FROM CART_PRODUCTS cp1
WHERE NAME = 'Yogurt')
AND NAME = 'Milk'
ORDER
BY CART_ID
;
NAME = 'Yogurt' AND NAME = 'Milk'
안 되는 이유