假设我有以下表格cart,cart_data和product:
cart_id TOTAL_COST
cart_data_id 的 cart_id 的 PRODUCT_ID
PRODUCT_ID PRODUCT_NAME
我正在尝试选择cart_data中每个product_id必须= 2的所有购物车,然后返回所有product_ids = 2的cart_id
例如: 如果购物车有5个产品都有id = 2,那么cart_id应显示。
但是,如果购物车有5个产品,其中4个产品= 2个,1个产品= 4,那么它就不应该出现。
答案 0 :(得分:0)
Haven没有测试过,但这应该有效:
SELECT cart_data.cart_id
FROM cart_data
WHERE cart_data.cart_id IN
( SELECT cart_data.cart_id
FROM cart_data
GROUP BY cart_data.cart_id
HAVING MIN( cart_data.product_id ) = 2
AND MAX( cart_data.product_id ) = 2
)