gpt4 book ai didi

MySQL 排除和要求

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

我想将这个问题转化为一个查询。猜测应该是三个leftjoin和两个select

exercises
+-----+---------+
| id | require |
+-----+---------+
| 1 | |
| 2 | 1 |
| 3 | 2 |
| 4 | 3 |
| 5 | |
| 6 | 5 |
| 7 | |
+-----+---------+

done
+-----+
| id |
+-----+
| 1 |
| 2 |
+-----+

练习一和练习二做完了,现在可以做哪些练习?
解:3,5,7

我的逻辑过程,一步一步:
(全部) - SELECT(required - done)-(done)
(1,2,3,4,5,6,7) - 选择((1,2,3,5)-(1,2)) - (1,2)
(1,2,3,4,5,6,7) - 选择 (3,5) - (1,2)
(1,2,3,4,5,6,7) -(4,6) - (1,2)
(3,5,7)

如何写查询?

最佳答案

另一种没有subselect的解决方案

SELECT e.id FROM exercises e 
LEFT JOIN done d ON d.id = e.id
LEFT JOIN done d_req ON d_req.id=e.require
WHERE (d.id IS NULL AND d_req.id IS NOT NULL)
OR (e.require IS NULL AND d.id IS NULL)

可以简化WHERE(分配性)

WHERE d.id IS NULL AND (d_req.id IS NOT NULL OR e.require IS NULL )

关于MySQL 排除和要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14401527/

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