0

我有两个表,我想显示第一个表中的所有记录,其中连接它们的字段不存在于第二个表中。

$sql = "SELECT d.*,t.id from `donations` d
JOIN `teams` t
ON d.teamid = t.id
 WHERE t.id IS NULL";

换句话说,我想加入捐赠和团队。但我只想从团队表中不存在团队字段的捐赠中检索记录。

上面显示零记录并且没有起作用。

感谢您的任何建议。

4

2 回答 2

3
SELECT d.*,t.id from `donations` d
LEFT OUTER JOIN `teams` t
ON d.teamid = t.id
 WHERE t.id IS NULL
于 2013-10-20T19:58:52.060 回答
1

您可以使用子查询。

select * from donations
where teamid not in (
    select id from teams
)

这应该选择所有具有 teamid 的捐赠,该 teamid 不存在于 team 表中。

于 2013-10-20T20:00:43.977 回答