【问题标题】:SQL: Get all rows with value n associated with idSQL:获取与 id 关联的值为 n 的所有行
【发布时间】:2015-06-14 01:02:44
【问题描述】:

假设我有以下表格 cart、cart_data 和 product:

购物车

cart_id 总成本

cart_data

cart_data_id cart_id product_id

产品

product_id 产品名称

我正在尝试选择 cart_data 中每个 product_id 必须 = 2 的所有购物车,然后返回所有 product_ids = 2 的 cart_id

例如: 如果购物车中有 5 个产品的 id = 2,则应该显示 cart_id。

但是,如果购物车有 5 个产品,其中 4 个产品 = 2 和 1 个产品 = 4,那么它不应该显示。

【问题讨论】:

    标签: mysql


    【解决方案1】:

    尚未测试,但这应该可以:

    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
               )
    

    【讨论】:

    • 哇!感谢您的快速回复!我真的很感激帮助。不过只有一个小问题,产品表不包含 cart_data_id :(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多