Mysql SQL:获取与id关联的值为n的所有行

Mysql SQL:获取与id关联的值为n的所有行,mysql,Mysql,假设我有以下表:购物车、购物车数据和产品: 运货马车 购物车id 总成本 购物车数据 购物车数据\u id 购物车id 产品标识 产品 产品标识 产品名称 我试图选择cart\u数据中的每个产品\u id必须为2的所有cart,然后返回所有产品\u id为2的cart\u id 例如: 如果购物车有5个产品,所有产品的id均为2,则购物车id应显示 但是,如果购物车有5个产品,其中4个产品=2,1个产品=4,则它不应该出现。没有测试它,但这应该可以工作: SELECT cart_data

假设我有以下表:购物车、购物车数据和产品:

运货马车 购物车id 总成本

购物车数据 购物车数据\u id 购物车id 产品标识

产品 产品标识 产品名称

我试图选择cart\u数据中的每个产品\u id必须为2的所有cart,然后返回所有产品\u id为2的cart\u id

例如: 如果购物车有5个产品,所有产品的id均为2,则购物车id应显示


但是,如果购物车有5个产品,其中4个产品=2,1个产品=4,则它不应该出现。

没有测试它,但这应该可以工作:

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
           )

哇!谢谢你的快速回复!我真的很感谢你的帮助。但有一个小问题,产品表不包含购物车数据id:(