easy, WITH t1 AS (SELECT '张三' Name, 'A' "LEVEL", 1 Month FROM DUAL UNION ALL SELECT '李四', 'B', 2 Month FROM DUAL UNION ALL SELECT '王五', 'C', 3 Month FROM DUAL UNION ALL SELECT '张三', 'B', 2 Month FROM DUAL UNION ALL SELECT '李四', 'B', 1 Month FROM DUAL UNION ALL SELECT '王五', 'C', 1 Month FROM DUAL UNION ALL SELECT '张三', 'B', 3 Month FROM DUAL UNION ALL SELECT '李四', 'B', 3 Month FROM DUAL UNION ALL SELECT '王五', 'B', 2 Month FROM DUAL) SELECT name, wm_concat ("一月份") "一月份", wm_concat ("二月份") "二月份", wm_concat ("三月份") "三月份" FROM (SELECT name, DECODE (month, 1, "LEVEL") "一月份", DECODE (month, 2, "LEVEL") "二月份", DECODE (month, 3, "LEVEL") "三月份" FROM t1) GROUP BY name
提供另一种方式 WITH t1 AS (SELECT '张三' Name, 'A' "LEVEL", 1 Month FROM DUAL UNION ALL SELECT '李四', 'B', 2 Month FROM DUAL UNION ALL SELECT '王五', 'C', 3 Month FROM DUAL UNION ALL SELECT '张三', 'B', 2 Month FROM DUAL UNION ALL SELECT '李四', 'B', 1 Month FROM DUAL UNION ALL SELECT '王五', 'C', 1 Month FROM DUAL UNION ALL SELECT '张三', 'B', 3 Month FROM DUAL UNION ALL SELECT '李四', 'B', 3 Month FROM DUAL UNION ALL SELECT '王五', 'B', 2 Month FROM DUAL) SELECT name, Max(DECODE (month, 1, "LEVEL")) "一月份", Max(DECODE (month, 2, "LEVEL")) "二月份", Max(DECODE (month, 3, "LEVEL")) "三月份" FROM t1 GROUP BY NAME
WITH t1 AS (SELECT '张三' Name, 'A' "LEVEL", 1 Month FROM DUAL
UNION ALL
SELECT '李四', 'B', 2 Month FROM DUAL
UNION ALL
SELECT '王五', 'C', 3 Month FROM DUAL
UNION ALL
SELECT '张三', 'B', 2 Month FROM DUAL
UNION ALL
SELECT '李四', 'B', 1 Month FROM DUAL
UNION ALL
SELECT '王五', 'C', 1 Month FROM DUAL
UNION ALL
SELECT '张三', 'B', 3 Month FROM DUAL
UNION ALL
SELECT '李四', 'B', 3 Month FROM DUAL
UNION ALL
SELECT '王五', 'B', 2 Month FROM DUAL)
SELECT name,
wm_concat ("一月份") "一月份",
wm_concat ("二月份") "二月份",
wm_concat ("三月份") "三月份"
FROM (SELECT name,
DECODE (month, 1, "LEVEL") "一月份",
DECODE (month, 2, "LEVEL") "二月份",
DECODE (month, 3, "LEVEL") "三月份"
FROM t1)
GROUP BY name
WITH t1 AS (SELECT '张三' Name, 'A' "LEVEL", 1 Month FROM DUAL
UNION ALL
SELECT '李四', 'B', 2 Month FROM DUAL
UNION ALL
SELECT '王五', 'C', 3 Month FROM DUAL
UNION ALL
SELECT '张三', 'B', 2 Month FROM DUAL
UNION ALL
SELECT '李四', 'B', 1 Month FROM DUAL
UNION ALL
SELECT '王五', 'C', 1 Month FROM DUAL
UNION ALL
SELECT '张三', 'B', 3 Month FROM DUAL
UNION ALL
SELECT '李四', 'B', 3 Month FROM DUAL
UNION ALL
SELECT '王五', 'B', 2 Month FROM DUAL)
SELECT name,
Max(DECODE (month, 1, "LEVEL")) "一月份",
Max(DECODE (month, 2, "LEVEL")) "二月份",
Max(DECODE (month, 3, "LEVEL")) "三月份"
FROM t1 GROUP BY NAME