gpt4 book ai didi

php - 使用连接比较sql查询中的两个表

转载 作者:行者123 更新时间:2023-12-01 00:09:57 25 4
gpt4 key购买 nike

我有 2 个表。

表 1 = 可交付成果(这是一个常量表)
表 2 = passed_deliverable

表1包含(主键)deliverable_id, deliverable_title, deliverable_desc, admin_id, flag
表2包含(主键)passed_deliverable_id, deliverable_id, user_id, flag

现在我想从 table 1 中回显 deliverable_id 而我的 WHERE 子句将是,它不会回显 deliverable_id 来自表 1,它已经在 表 2 中。

具体来说,我想比较表1中的deliverable_id表2中的deliverable_id,如果 deliverable_id 已经存在于 table 2 中,当我使用查询时它不会在 table 1 中回显。

这是我目前拥有的。

SELECT deliverable.deliverable_id, passed_deliverable.passed_deliverable_id, 
deliverable.deliverable_title, deliverable.deliverable_desc,
deliverable.adviser_id
FROM deliverable
INNER JOIN passed_deliverable
ON deliverable.deliverable_id=passed_deliverable.deliverable_id
WHERE deliverable.deliverable_id!=passed_deliverable.deliverable_id

最佳答案

您可以使用WHERE NOT EXISTS 来检查其他表中是否不存在匹配的数据。下面的查询返回所有未通过的可交付成果。

SELECT 
deliverable_id, deliverable_title, deliverable_desc, adviser_id
FROM deliverable d
WHERE
NOT EXISTS (
SELECT 'x'
FROM passed_deliverable pd
WHERE pd.deliverable_id = d.deliverable_id)

关于php - 使用连接比较sql查询中的两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27787623/

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