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

Jon*_*Jon 4 sql t-sql

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

数据库布局:

**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)
Run Code Online (Sandbox Code Playgroud)

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

分组和连接不是我所坚持的,而是我能否做到双重总和.

在我脑海里,它看起来像

...salesman,sum(amount) as totalsales,sum(amount where accessory=1) as accessorysales...
Run Code Online (Sandbox Code Playgroud)

但显然这永远不会奏效!

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

Qua*_*noi 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
Run Code Online (Sandbox Code Playgroud)