1

我们有两张表:

-- 用户 --

id  name    borrower
--  ------  --------
1   Peter   1
2   John    1
3   Mark    1
4   David   0

-- 借贷 --

id 从 到 金额
-- ---- -- ------
1 1 2 100

我需要输出用户 Peter 没有借出任何钱,并且是 borrowers=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:仅当不在另一个表中时才从一个表中选择电子邮件?

4

1 回答 1

2

像这样的东西?

SELECT 
    *
FROM
    users
WHERE
    id NOT IN (SELECT 
            id
        FROM
            lendings)
        AND borrower = 1;

您可能希望使用不同的列名,因为我相信 from 和 to 是 mysql 中的保留字。

于 2012-04-21T01:03:49.870 回答