gpt4 book ai didi

MySQL 联合和连接

转载 作者:行者123 更新时间:2023-11-29 11:11:25 25 4
gpt4 key购买 nike

我有下表

purchase_order         item
------------------ ------------
id (PK) id (PK)
deleted deleted
name name
purchase_order_id (FK)

如何返回链接到未删除、非空的purchase_order的所有商品的列表,以及没有链接到它们的商品的所有purchase_orders,无论是否删除。

例如示例表

采购订单

  id    name         deleted
---------------------------
1 Big Sale 0
2 Other Sale 1
3 Empty Sale 0

项目

  id    name         deleted  purchase_order_id
----------------------------------------------
1 Fruit 1 1
2 Bread 0 1
3 Water 0 2

正确的查询给了我这个:

po_id name          item_id  name
------------------------------------
1 Big Sale 2 Bread
3 Other Sale NULL NULL

编辑:这是我必须要做的,但问题是规定 i.deleted = 0,它会阻止任何未加入项目的行返回

SELECT po.id, po.name, i.id, i.name
FROM purchase_order po
LEFT JOIN item i ON i.purchase_order_id=po.id
WHERE po.deleted = 0 AND i.deleted = 0

最佳答案

@strawberry 给了我答案

SELECT po.id, po.name, i.id, i.name
FROM purchase_order po
LEFT JOIN item i ON i.purchase_order_id=po.id AND i.deleted = 0
WHERE po.deleted = 0

关于MySQL 联合和连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40491822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com