![]() |
1
2
我想我已经找到解决办法了。有三个基本步骤:
为了得到12个日期(每个月一个),我使用了一个稍微递归的LIKE WITH语句来创建一个临时表,其中1列包含12个日期:
从这里我可以交叉连接这个临时表和我真正关心的信息的表。然后我使用开始和结束之间的where日期来过滤不属于该月的任何条目。所以像这样:
在这一步中,我们必须小心地只选择结果中明确需要的列,或者那些将使用PIVOT语句聚合的列。 最后,我们必须透视结果:
因此,结果查询可能如下所示:
我已经消除了我为加入我需要的其他信息而经历的所有其他复杂性,所以这实际上不是我编写的查询,但它应该封装我在需要时获得结果所使用的基本查询结构。 |
![]() |
2
0
我同意12个案例陈述。 这实际上是我在回去之前草拟的解决方案,我看到你在其中提到了你的问题。 |
![]() |
3
0
为什么不先计算月份的列,然后使用它来透视呢? 日期部分(月,[日期]) 还是我误解了问题? |
![]() |
sqlrobert · SQL-如何查找不包含特定字段值的一组记录 2 年前 |
![]() |
Nick Fleetwood · 调度语法的LINQ查询 3 年前 |
![]() |
Mateen Bagheri · 选择表的计数并选择其自身 3 年前 |
![]() |
Java · 使用交叉应用同时显示两列 3 年前 |