gpt4 book ai didi

mysql - SQL 连接表并在右表中显示不匹配记录的默认值

转载 作者:行者123 更新时间:2023-11-29 05:48:10 24 4
gpt4 key购买 nike

我有 2 个表,我希望在满足特定条件时将它们连接起来。

1) 客户表

Clients Table

2) 支付表

Payments Table

有了这些表格,我想看看每个客户已经支付了多少。如果客户尚未付款,金额 列应为 0

我有这个 SQL 查询,但它不会显示没有付款的客户。

SELECT c.id, c.name, co.amount FROM clients c LEFT OUTER JOIN collectibles co ON c.id = co.client_id WHERE co.removed = 0

此查询的结果将只显示 1 条记录,即客户 Cliff 付款 25000

我怎样才能达到预期的输出?

最佳答案

你不应该在 where 中使用左连接表的列。这种方式在这些情况下作为内部连接将条件添加到相关的 ON 子句中

  SELECT c.id
, c.name
, ifnull(co.amount ,0)
FROM clients c
LEFT OUTER JOIN collectibles co ON c.id = co.client_id
AND co.removed = 0

关于mysql - SQL 连接表并在右表中显示不匹配记录的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57464968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com