gpt4 book ai didi

mysql - SQL:选择A而不是B的集合

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

我有两张表:左边一张是users_projects,右边一张是projects: enter image description here

我想选择用户 3 未参与的项目(仅限 p_ID 5 和 7)。

我尝试过 SELECT * FROM users_projects up INNER JOIN 项目 p ON p.p_ID=up.p_ID WHERE up.u_ID!=3

但这也返回给我 p_ID 1,用户 2 和 3 都是其中的一部分。

感谢您的帮助!

最佳答案

使用LEFT JOIN的解决方案:

SELECT 
*
FROM
projects p LEFT JOIN users_projects up ON (p.p_ID = up.p_ID AND up.u_ID = 3)
WHERE
up.u_ID IS NULL

基本上选择所有项目并将它们与所需用户的user_projects 结合起来。左连接使 project 表中的所有行都显示,即使 users_projects 表中没有对应的行。这些行将 users_projects 中的所有字段设置为 NULL,因此我们只需选择这些字段即可。

关于mysql - SQL:选择A而不是B的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42646135/

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