gpt4 book ai didi

mysql - 我想要两个不同表的各个列的总和,并在客户 ID 匹配的单个查询结果中显示它?

转载 作者:行者123 更新时间:2023-11-29 02:20:24 25 4
gpt4 key购买 nike

Create or replace view cnPointsDetailsvw
as select sum(cd.value), sum(cd1.points)
from customerdetails cd left join
customerdetails1 cd1 on cd.customerid = cd1.customerid;

问题是上面的查询正在为 column cd1.points 多次计算 sum

最佳答案

如果表 customerdetails1 只有 1 行,那么为什么要使用 SUM() 函数?
只需使用 MAX()
我对你的表格感到困惑,所以让我给出一个示例结构和数据。

表1

id   points
-----------
1 10
2 20
3 40

表2

id   points
-----------
1 10
1 2
1 4
2 20
3 40
3 5

你的查询应该是这样的:

CREATE OR REPLACE VIEW view_name AS 
SELECT t1.id,max(t1.points) as points1, sum(t2.points) as points2
FROM table1 t1
LEFT JOIN table2 t2 ON t1.id = t2.id
GROUP BY t1.id

你的 View 应该是这样的:

id  points1   points2
---------------------
1 10 16
2 20 20
3 30 45

关于mysql - 我想要两个不同表的各个列的总和,并在客户 ID 匹配的单个查询结果中显示它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32824308/

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