从一个表中选择用户如果已经在其他
问题描述:
我们有两个表:从一个表中选择用户如果已经在其他
- 用户 -
id name borrower
-- ------ --------
1 Peter 1
2 John 1
3 Mark 1
4 David 0
- 拆入 -
id from to amount -- ---- -- ------ 1 1 2 100
我需要输出使用者彼得未借出任何款项且借款人= 1(不包括彼得的结果),如下所示:
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?
答
像这样的事情?
SELECT
*
FROM
users
WHERE
id NOT IN (SELECT
id
FROM
lendings)
AND borrower = 1;
您可能想要使用不同的列名,因为我相信和使用mysql中的保留字。
出现错误“操作数应该包含1列”,我编辑了您的查询,现在它工作的很好。好东西Lazerblade,谢谢! – 2012-04-21 01:15:03