2016-09-22 52 views
0

我有兩個表具有以下數據移調列於行 - Teradata的

TABLEA 
TYPES COLUMNA COLUMNB COLUMNC 
DART 8.00  9.00 10.00 

TABLEB 
TYPES DESCP ACNT 
DART COLUMNA 14000 
DART COLUMNB 15000 
DART COLUMNC 16000 

我的預期輸出是

TYPES AMT ACNT 
DART 8.00 14000 
DART 9.00 15000 
DART 10.00 16000 

我寫了下面的代碼來獲取輸出

SELECT X.TYPES, 
CASE WHEN DESCP='COLUMNA' THEN COLUMNA 
WHEN DESCP='COLUMNB' THEN COLUMNB 
WHEN DESCP='COLUMNC' THEN COLUMNC ELSE NULL END AMT, 
B.ACNT 
FROM 
TABLEA X 
JOIN 
TABLEB Y 
ON X.TYPES=Y.TYPES 

這些只是示例數據,大約有10種類型和10多列。除了寫入case語句以包含所有列以實現此目的外,是否還有其他選擇?謝謝

+1

'case'語句可能是最好的方法。 –

+0

個案表達,不是陳述... – jarlh

回答