![]() |
1
2
我想我已经找到解决办法了。有三个基本步骤:
为了得到12个日期(每个月一个),我使用了一个稍微递归的LIKE WITH语句来创建一个临时表,其中1列包含12个日期:
从这里我可以交叉连接这个临时表和我真正关心的信息的表。然后我使用开始和结束之间的where日期来过滤不属于该月的任何条目。所以像这样:
在这一步中,我们必须小心地只选择结果中明确需要的列,或者那些将使用PIVOT语句聚合的列。 最后,我们必须透视结果:
因此,结果查询可能如下所示:
我已经消除了我为加入我需要的其他信息而经历的所有其他复杂性,所以这实际上不是我编写的查询,但它应该封装我在需要时获得结果所使用的基本查询结构。 |
![]() |
2
0
我同意12个案例陈述。 这实际上是我在回去之前草拟的解决方案,我看到你在其中提到了你的问题。 |
![]() |
3
0
为什么不先计算月份的列,然后使用它来透视呢? 日期部分(月,[日期]) 还是我误解了问题? |
|
Johnny T · 基于当前值的SQL合并表[重复] 6 月前 |
![]() |
John D · 需要为NULL或NOT NULL的WHERE子句 6 月前 |
![]() |
ojek · 如何对SQL结果进行分组和编号? 6 月前 |
![]() |
senek · 如何在PL/SQL中将选择结果(列)放入数组中 6 月前 |
![]() |
Sax · 规范化Google表格(第一步) 6 月前 |
![]() |
Jatin · 检索卷计数的动态sql抛出错误语法错误[关闭] 6 月前 |
![]() |
Andrus · 如何在sql中查找第二个匹配项 6 月前 |