|
|
1
2
可以使用交叉应用在单个列中以逗号分隔格式获取所有值。而不是“4”个不同的列。问题是这个“4”不能每次都定义。它可能会增加或减少,不建议将其作为列。 从@tmptable a中选择distinct anamonth,anayear,[derivedColumn] 交叉申请 ( 从@tmptable b中选择anasum+',' 其中a.anamonth=b.anamonth 而a.anayear=b.anayear 对于XML路径(“”) )作为C(派生列) 你将获得[6.0000,1.000,8.0000,5.0000]在一个栏为第5个月和2010年等…您可以将它用作查询任何特定月份的表。 希望这有帮助 |
|
2
0
因此,您拥有规范化的数据,并且希望透视要创建的结果集 repeating groups .
你可以使用
I would recommend 不 在SQL中透视此查询。只需对数据库进行查询,然后每月/每年获取四行。然后在应用程序中编写代码,以按月/年汇总结果。 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
Marc Guillot · 记录值时忽略冲突 1 年前 |
|
|
Fachry Dzaky · 正确使用ROW_NUMBER 1 年前 |
|
|
TriumphTruth · 从满足特定条件的数据集中选择1行 1 年前 |