我需要从一个表(T1),选择项目,但排除具有ID在另一个表中的任何结果( t2)并且具有相同的项目ID。
SELECT *
FROM t1
WHERE project = 10
需要排除t2中存在的任何行。
t1.userID = t2.memberID AND t2.projectID = t1.project
不知道如何把它放在一起......
我需要从一个表(T1),选择项目,但排除具有ID在另一个表中的任何结果( t2)并且具有相同的项目ID。
SELECT *
FROM t1
WHERE project = 10
需要排除t2中存在的任何行。
t1.userID = t2.memberID AND t2.projectID = t1.project
不知道如何把它放在一起......
SELECT t1.*
FROM t1
LEFT OUTER JOIN t2 ON t1.userID = t2.memberID AND t2.projectID = t1.project
WHERE t1.project = 10 and t2.projectID IS NULL
的可能重复[Mysql的选择哪里都不表(http://stackoverflow.com/questions/354002/mysql-选择在哪里不在表中)和[MySQL:只从一个表中选择电子邮件,如果不在另一个表中](http://stackoverflow.com/questions/1002728/mysql-select-emails-from-one-table -only-if-in-another-table) –
我需要确保2个项目匹配才能排除:projectID和memberID。如果memberID在t2中,但projectID不同,则可以包含它。 – santa
我链接的另外两篇文章为您提供了解决问题所需的信息。你的'WHERE'子句中的'AND'将确保两个项目匹配;如果他们不这样做,他们将不符合“WHERE”的条件并将被包括在内。 –