SQL Server:如何在单个查询中计算不同的总和

时间:2010-02-15 16:55:47

标签: sql tsql

一位朋友建议我在这里发帖,因为我需要一些帮助!

数据库布局:

**salestable**
salesorder [primary, unique] (sales order number)
salesman (salesperson id)

**salesline**
salesorder [many sales line to single salestable relationship]
saleprice (line amount)
isaccessory (0 or 1)

我想在单个选择中将销售价格总和作为每个销售员的总销售额,而且还要计算销售价格,即附件= 1。

分组和连接不是我坚持的,而是我是否可以做双重和。

在我看来,它看起来像

...salesman,sum(amount) as totalsales,sum(amount where accessory=1) as accessorysales...

但显然这永远不会奏效!

提前致谢! (PS,我在这里很新,要温柔......)

1 个答案:

答案 0 :(得分:6)

SELECT  salesman, SUM(amount), SUM(CASE WHEN accessory = 1 THEN amount ELSE 0 END)
FROM    salestable t
JOIN    salesorder o
ON      o.salesorder = t.salesorder
GROUP BY
        salesman