gpt4 book ai didi

MySQL 查询行,仅当行项在其他行中不存在时才返回行

转载 作者:太空宇宙 更新时间:2023-11-03 11:05:58 25 4
gpt4 key购买 nike

     ID      stone_free    original_stone_id
------- | ---------- | -------------------
1 | 0 | 1
2 | 1 | 2
3 | 1 | 1

只有当 stone_free 等于 0 并且每行的其他行中没有相应的 original_stone_id 时,我才想从表中返回行 .因此,例如在上面的示例中,第 1 行的 stone_free 为 0,并且第 3 行中有相应的 original_stone_id,因此查询不应返回任何行。

在下面的示例中,第 1 行的 stone_free 为 0,但另一行中没有相应的 original_stone_id,因此查询应返回第 1 行。

     ID      stone_free    original_stone_id
------- | ---------- | -------------------
1 | 0 | 1
2 | 1 | 2

最佳答案

一个简单的 LEFT JOIN 就可以做到;

SELECT a.* 
FROM Stones a
LEFT JOIN Stones b ON a.ID<>b.ID AND a.original_stone_id = b.original_stone_id
WHERE b.ID IS NULL AND a.stone_free=0

演示 here .

关于MySQL 查询行,仅当行项在其他行中不存在时才返回行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11915135/

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