SQL Server : How to calculate different sums in a single query

标签 sql tsql

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

数据库布局:

**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,我是新来的,温柔点...)

最佳答案

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

关于SQL Server : How to calculate different sums in a single query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2267526/

相关文章:

mysql - 如何将同一个表中的多行合并为 1 行,在 sql 连接中使用 laravel 查询生成器的不同列

sql - t sql "select case"vs "if ... else"以及关于 "begin"的解释

sql-server - 具有命名参数和计算的存储过程

sql-server - SQL谜题,为什么我的更新不是随机的?

sql - 如何在 GROUP BY 子句中添加 XML 数据类型?

sql - PostgreSQL 将值更新为最大值 + 1

sql - 查看最近编辑的 etherpads

mysql - 在 ORDER BY 中使用聚合函数与已经聚合的列之间是否存在性能差异?

sql - 旋转和汇总数据

sql - 如何在SQL中选择接近1的记录?