我有4个这样的表(你可以忽略表B,因为这个问题没有使用那个表)
我想在表'sales_detail'中显示每个'sales_id'的总计'总和'
我想要的(结果)是这样的:
sales_id | total
S01 | 3
S02 | 2
S03 | 4
S04 | 1
S05 | 2
S05 | 3
我尝试过这个查询:
select
sum(total)
from
sales_detail
where
sales_id = any (select sales_id
from sales
where customer_id = any (select customer_id
from customer)
)
但查询返回的值为15,因为它们是这些数据行的总和。
我试图在和之前使用“distinct”
,结果是[1,2,3],因为它们与那些数据行不同(不是每个sales_id的总和)
关于子查询的全部内容
答案 0 :(得分:2)
你只是偏离轨道,一个简单的评论将无济于事。您的查询仅涉及一个表,sales_detail
。它与其他两个无关。
而且,它只是一个聚合查询:
select sd.sales_id, sum(sd.total)
from sales_detail sd
group by sd.sales_id;
这实际上非常接近问题本身所要求的内容。