gpt4 book ai didi

mysql - 将列与另一列进行比较

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

deliverable_id deliverable_title deliverable_desc adviser_id passed_user deliverable_passed flag
1 SRS kogtong 1 0 0 0
2 WEBSITE Lorem ipsum... 1 0 0 0
3 system asdsadasdasdasd 1 0 0 0
4 software sdgdThyiliul234 1 0 0 0
5 NULL NULL 1 4 1 1
6 NULL NULL 1 4 2 1

我想进行一个查询来比较 deliverable_passed 是否与 deliverable_id 相同。如果它们相同,则不会打印相同的 deliverable_id

这是我当前的查询是:

SELECT * FROM deliverable
WHERE deliverable_id!=deliverable_passed

当前输出是(基于deliverable_id):1 2 3 4

比较后我的预期输出是(基于 deliverable_id ):3 4

因为 deliverable_passed 值 1 和 2 已经存在。

最佳答案

您想选择所有没有记录的可交付成果(有标题)存在及其 deliverable_passed ID。所以使用 NOT EXISTS:

SELECT * 
FROM deliverable
WHERE deliverable_title is not null
AND NOT EXISTS
(
SELECT * FROM deliverable passed
WHERE passed.deliverable_passed = deliverable.deliverable_id
);

或者使用 NOT IN 更简单:

SELECT * 
FROM deliverable
WHERE deliverable_title is not null
AND deliverable_id NOT IN (SELECT deliverable_passed FROM deliverable);

(但 Aleks G 是对的。这是一个糟糕的数据库设计,你应该改变它。)

关于mysql - 将列与另一列进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27780685/

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