2014-11-19 5 views
-2

у меня есть в таблице ниже: Таблица А с колоннами:Как преобразовать столбцы в строки

key col1,key col2,key col3,Non-key col1, Non-key col2,Non-key col3 
01,01,01,A,B,C 

Я хочу, чтобы преобразовать эту таблицу, как показано ниже:

Таблица B:

key col1,key col2,key col3, Non-key name, Non-key val 
01,01,01,Non-key col1,A 
01,01,01,Non-key col2,B 
01,01,01,Non-key col3,C 

Как я могу преобразовать таблицу A в таблицу B?

ответ

0

Как насчет:

SELECT * FROM 
    (SELECT KEY_COL1, KEY_COL2, KEY_COL3, NON_KEY_COL1, NON_KEY_COL1 AS DATA 
    FROM TABLE_A 
    UNION ALL 
    SELECT KEY_COL1, KEY_COL2, KEY_COL3, NON_KEY_COL1, NON_KEY_COL2 AS DATA 
    FROM TABLE_A 
    UNION ALL 
    SELECT KEY_COL1, KEY_COL2, KEY_COL3, NON_KEY_COL1, NON_KEY_COL3 AS DATA 
    FROM TABLE_A) 
    ORDER BY KEY_COL1, KEY_COL2, KEY_COL3, NON_KEY_COL1, DATA; 

SQLFiddle here

Делите и наслаждайтесь.

Смежные вопросы