我有表 Table1
A B
1 天
1 地
2 月
2 日
3 火
3 水
3 金
3 木 求用SELECT 实现多行合并为一行的SQL写法 效果:A B C D E
1 天 地 null null
2 月 日 null null
3 火 水 金 木
A B
1 天
1 地
2 月
2 日
3 火
3 水
3 金
3 木 求用SELECT 实现多行合并为一行的SQL写法 效果:A B C D E
1 天 地 null null
2 月 日 null null
3 火 水 金 木
C1 C2
---------- ----------
1 我
1 是
1 谁
2 知
2 道
3 不
CREATE OR REPLACE FUNCTION get_c2(tmp_c1 NUMBER)
RETURN VARCHAR2
IS
Col_c2 VARCHAR2(4000);
BEGIN
FOR cur IN (SELECT c2 FROM t WHERE c1=tmp_c1) LOOP
Col_c2 := Col_c2||cur.c2;
END LOOP;
Col_c2 := rtrim(Col_c2,1);
RETURN Col_c2;
END;
/ 结果:
C1 C2
---------- ----------
1 我是谁
2 知道不