给你例子 CREATE TABLE t_row_col AS SELECT 1 a, 'c1' cn, 10 cv FROM dual UNION ALL SELECT 2 a, 'c2' cn, 20 cv FROM dual UNION ALL SELECT 3 a, 'c3' cn, 30 cv FROM dual;SELECT MAX(decode(cn, 'c1', cv, NULL)) AS c1, MAX(decode(cn, 'c2', cv, NULL)) AS c2, MAX(decode(cn, 'c3', cv, NULL)) AS c3 FROM t_row_col
CREATE TABLE t_row_col AS
SELECT 1 a, 'c1' cn, 10 cv
FROM dual
UNION ALL
SELECT 2 a, 'c2' cn, 20 cv
FROM dual
UNION ALL
SELECT 3 a, 'c3' cn, 30 cv FROM dual;SELECT
MAX(decode(cn, 'c1', cv, NULL)) AS c1,
MAX(decode(cn, 'c2', cv, NULL)) AS c2,
MAX(decode(cn, 'c3', cv, NULL)) AS c3
FROM t_row_col
否则就要用plsql : procedure
百度,oracle,动态行转列