1

我在 tsql 中开发了一个枢轴,如下所示:

MaturityBand    AAA     AA+     AA      AA-     A+      A       A-      Grand_Total 
Less than 1 yr  NULL    NULL    NULL    NULL    NULL    NULL    7.92    7.92
1 to 5 yrs      NULL    NULL    0.44    NULL    NULL    1.95    8.96    11.35
5 to 10 yrs     NULL    NULL    1.33    NULL    NULL    4.11    4.04    9.98
10 to 20 yrs    NULL    NULL    1.14    NULL    NULL    0.74    1.07    2.95
>20 years       NULL    NULL    0.15    NULL    NULL    NULL    0.14    0.29
Total           NULL    NULL    3.06    NULL    NULL    6.8     22.13   31.99

我想要做的是删除空列,以便上面变成下面:

MaturityBand    AA      A       A-      Grand_Total 
Less than 1 yr  NULL    NULL    7.92    7.92
1 to 5 yrs      0.44    1.95    8.96    11.35
5 to 10 yrs     1.33    4.11    4.04    9.98
10 to 20 yrs    1.14    0.74    1.07    2.95
>20 years       0.15    NULL    0.14    0.29
Total           3.06    6.8     22.13   31.99

这可能吗?

(如有必要,我可以发布我的代码。)

4

1 回答 1

1

WHERE不, or子句中的过滤器HAVING适用于行,而不是列。如果您不想要特定列,则只能从SELECT子句中手动将其排除。

SELECT 
MaturityBand, AA, A, [A-], Grand_Total 
FROM
(
   /*put your pivot query here*/
)some_alias

这是我今天为动态枢轴写的答案(如评论中建议的 aF.)。

动态透视查询

试一试,请告诉我结果。实际上,如果这行得通,我会感到惊讶。

于 2012-06-27T13:30:53.437 回答