我们有两张桌子:
- 用户 -
id name borrower
-- ------ --------
1 Peter 1
2 John 1
3 Mark 1
4 David 0
- 借贷 -
id from to amount -- ---- -- ------ 1 1 2 100
我需要输出Peter没有借钱的用户,而且借款人= 1(结果中不包括Peter),如下所示:
id name borrower
-- ------ --------
3 Mark 1
现在我被这个查询困住了(不起作用):
SELECT *
FROM `users` u
LEFT OUTER JOIN `lendings` l
ON u.`id` = l.`from`
WHERE l.`from` is null
AND u.`id` != 1
AND u.`borrower` = 1
这是实际代码的简化示例,以保证问题对未来读者有用/可读。
相关问题:MySQL: select emails from one table only if not in another table?
答案 0 :(得分:2)
这样的东西?
SELECT
*
FROM
users
WHERE
id NOT IN (SELECT
id
FROM
lendings)
AND borrower = 1;
您可能希望使用不同的列名,因为我相信它们是mysql中的保留字。