cuốn sách gpt4 ai đã làm

mysql - SQL多表一个条件不合适

In lại Tác giả: Walker 123 更新时间:2023-11-29 02:40:05 29 4
mua khóa gpt4 Nike

我有这个 sql:

SELECT logins.*, users.*, invoices.number
FROM logins,
users,
invoices
WHERE logins.user_id = users.id
AND users.id = invoices.userId;

这是我声明的简化版本。现实要复杂得多。

什么时候

users.id=invoices.userId

是假的(因为表 invoices 不包含带有这个 userId 的行)我需要添加到 invoices.number=0。

câu trả lời hay nhất

即使没有找到发票,也可以使用 left join 返回行。对于这些行,invoices 表中的列将为 vô giá trị。在这种情况下,您可以使用 coalesce trở lại 0 thay vì vô giá trị:

SELECT logins.*
, users.*
, COALESCE(invoices.number, 0) AS number
FROM logins
JOIN users
ON logins.user_id = users.id
LEFT JOIN
invoices
ON users.id = invoices.userId

关于mysql - SQL多表一个条件不合适,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54569306/

29 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress