最簡(jiǎn)單的方法是使用UNPIVOT關(guān)鍵字進(jìn)行列轉(zhuǎn)行操作。
例如,假設(shè)有一個(gè)名為“table_name”的表,具有以下結(jié)構(gòu)和數(shù)據(jù):
col1 | col2 | col3
-----+------+------+
val1 | val2 | val3
要將這些列轉(zhuǎn)換為行,可以使用UNPIVOT關(guān)鍵字:
SELECT *
FROM table_name
UNPIVOT (column_value FOR column_name IN (col1, col2, col3)) unpivot_data;
執(zhí)行此查詢后,將生成以下結(jié)果:
column_name | column_value
------------+--------------
col1 | val1
col2 | val2
col3 | val3
這樣,原來(lái)的列現(xiàn)在被轉(zhuǎn)換為行,并且每一行都包含了列名和對(duì)應(yīng)的值。