【发布时间】:2017-02-12 21:17:18
【问题描述】:
如果其他两列上的datediff 小于一个值,我有一个查询,它对一列求和,但我不想按计算中的列分组。有人能告诉我最好的方法吗?我想到了嵌套查询或使用数据透视,但都没有给出我想要的。这是sql:
SELECT
Col7,
Col8,
Case when datediff (dd,col3,col4) < 30 then Sum(Col2) ELSE 0 END as [30days],
Case when datediff (dd,col3,col4) < 60 then Sum(Col2) ELSE 0 END as [60days]
FROM Table
Group BY
Col7, Col8
我不想按Col3 或Col4 分组。
【问题讨论】:
-
您熟悉常用的表表达式吗?在不了解基础数据的结构的情况下,我认为这将是您的最佳选择。你能提供一些关于数据的细节吗?
-
sum(case when datediff(dd,col3,col4) < 30 then col2 else 0 end) -
能否添加表结构并指定主键以及一些示例数据?
标签: sql-server sql-server-2008 group-by pivot