SQl销售交易

问题描述 投票:-3回答:2

我有一张这样的桌子。会员

memberid       name
MB001          NEERAJ RANA

湾销售标题

transaction_id   memberid
TR01             MB001
TR02             MB001

C。销售细节

 transaction_id  qty
 TR01                  2
 TR01                  2
 TR02                  2

我的查询:

select member.name,
       count(salesheader.memberid), 
       sum(salesdetail.qty) 
from member inner join salesheader on member.memberid = salesheader.memberid 
     inner join salesdetail on salesheader.transaction_id = salesdetail.transaction_id 
group by member.name

我的输出

staffname           totaltransaction     totalqty
NEERAJ RANA         3                    6

我想这样输出

staffname           totaltransaction     totalqty
NEERAJ RANA         2                    6
sql sql-server group-by count sum
2个回答
2
投票

使用

COUNT(DISTINCT salesheader.memberid)而不是COUNT(salesheader.memberid)


0
投票

您可以按名称加入使用aggragtion函数计数和总和

select a.name, count(distinct b.transaction_id), sum(c.qty)
from Member
inner join sales_header b on a.memberid = b.memberid
inner join sales_detail c on b.transaction_id = c.transaction_id
group by a.name
© www.soinside.com 2019 - 2024. All rights reserved.