gpt4 book ai didi

mysql - LEFT OUTER JOIN 只选择一行

转载 作者:行者123 更新时间:2023-11-29 06:01:32 24 4
gpt4 key购买 nike

我正在尝试使用 LEFT OUTER JOIN 方法从我的数据库中SELECT 数据,但是当我运行我的语法时,结果只有一行。我确信结果一定是更多行。

我还尝试了方法 FULL OUTER JOIN 而不是 LEFT OUTER JOIN。但是当我这样做时,我得到了一个语法错误。

有人知道为什么我只排了一排吗?

这是我的 sql 语法:

SELECT
cus.cus_id
, cus.name_cus
, cus.address, count(invoice.id) as id2
, CONCAT('€ ', ROUND(SUM(invoice.total),2)) as total
, cus.id
FROM cus
LEFT OUTER JOIN invoice
ON cus.cus_id = invoice.cus_id

最佳答案

您正在使用不带 GROUP BY 子句的聚合函数:

SELECT
cus.cus_id
, cus.name_cus
, cus.address
, count(invoice.id) as id2
, CONCAT('€ ', ROUND(SUM(invoice.total),2)) as total
, cus.id
FROM cus
LEFT OUTER JOIN invoice ON cus.cus_id = invoice.cus_id
GROUP BY cus.cus_id, cus.name_cus, cus.address, cus.id

尽管您只需要按唯一 ID(即 cus.id)进行分组,您也应该添加其他未聚合到 GROUP BY 子句的字段,即使尽管他们不会创建额外的组。

关于mysql - LEFT OUTER JOIN 只选择一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44482873/

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