假设我有两张桌子,桌子购物车和购物车项目。一个购物车可以有一个或多个 cart_items。
Cart_items 是从项目表中“模板化”的。像 item_name 这样的属性对于多个 cart_items 是相同的。我想创建一个查询,该查询返回包含名为 Apple AND Banana AND Carrot 的购物车项目的所有购物车(所有购物车属性,而不仅仅是 id)。
以下是我尝试过的几个示例。
Table cart
cart_id_pk
cart_desc
cart_total
etc...
Table cart_item
item_id
item_name
cart_id_fk
我的第一次尝试:
SELECT * FROM cart_item ci
LEFT JOIN cart c
ON ci.cart_id_fk = c.cart_id
WHERE ci.item_name = 'Apple' AND ci.item_name = 'Banana' AND ci.item_name = 'Carrot'
GROUP BY c.cart_id_pk
这是行不通的,因为选择中的每一行只包含一个 cart_item。
我的第二次尝试:
WHERE ci.item_name = 'Apple' OR ci.item_name = 'Banana' OR ci.item_name = 'Carrot'
这也不起作用,因为它会返回至少包含其中任何一个 cart_items 的购物车。
现在正在修改子查询..不确定我是否走在正确的轨道上。
帮助表示赞赏。