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

私がやりたいのは、null 列を削除して、上が下になるようにすることです。

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

いいえ、WHEREorHAVING句のフィルターは、列ではなく行で機能します。特定の列が必要ない場合は、SELECT句から手動で除外することしかできません。

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

これは、動的ピボットについて今日書いた回答です(コメントで提案されたaF.のように)。

動的ピボット クエリ

試してみて、結果を教えてください。実際、これがうまくいくとは驚きです。

于 2012-06-27T13:30:53.437 に答える