我需要將列轉換爲Teradata中沒有TD_UNPIVOT的行。我的表將列轉換爲行Teradata
ID |Code_1 | Code_2 | Code_3 | Code_4| 1 |1000 | 2000 | 3000 | 4000 | 1 |1000 | 2000 | 3000 | NULL | 1 |1000 | 2000 | NULL | NULL | 1 |1000 | NULL | NULL | NULL |
我需要Code_1,CODE_2,CODE_3,Code_4轉換成2列:第一列將所有Code_n(不包括NULL),第二個將有代碼的級別:
ID | Code_n | Level_of_Code
1 | 4000 | 4
1 | 3000 | 3
1 | 2000 | 2
1 | 1000 | 1
這意味着,比我應該知道什麼時候代碼NULL(其中一級Code_1,CODE_2,CODE_3或Code_4,之後將其轉換爲列,最大級別的數字,我沒有NULL)。
請幫幫我。 謝謝
TD_UNPIVOT(http://www.info.teradata.com/HTMLPubs/DB_TTU_14_10/index.html#page/SQL_Reference/B035_1145_112A/Table_Operators.098.21.html)你在找什麼。 – Andrew
我不能使用td_unpivot,我沒有權利激活它 – monika01
呃,那麼你需要使用'UNION'。 'SELECT ID,code_1,1作爲level_of_code從 union select id,code_2 from ... order by 1,3 desc'。 –
Andrew