2012-06-27 214 views
1

我在T-SQL開發的支點,其下方類似於刪除空列:從樞軸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 

這可能嗎?

(如果必要的話,我可以張貼我的代碼。)

+0

你想只刪除那些行現在或每次列全是'NULL'你不想顯示它? –

+0

每次一列完全爲空我不希望它被顯示 –

回答

1

沒有,在WHEREHAVING條款工作濾鏡在行,而不是列。如果您不想要特定列,則只能從SELECT子句中手動將其排除。

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

下面是我今天爲動態數據透視(如aF。在評論中建議的)所寫的答案。

Dynamic Pivot Query

有它一個嘗試,讓我知道了結果,請。事實上,如果這能起作用,我會感到驚訝。

+0

這是可能的..不漂亮,但可能.. –

+0

只是想補充一點,這是可能的,但是,這將是一種荒謬的 – fancyPants

+0

使用'動態sql'例如。如果列的值只是「NULL」,那麼查詢將不會選擇它。 –