17,089
社区成员
发帖
与我相关
我的任务
分享
WITH t(名字,电话,身份证)
AS
(SELECT '张三','','330000000001' FROM dual
UNION ALL
SELECT '张三','021-0000001','330000000001' FROM dual
union ALL
SELECT '张三','021-0000002',''FROM dual
UNION ALL
SELECT '张三','','' FROM dual
union ALL
SELECT '李四','010-1111111','11000000000' FROM dual
UNION ALL
SELECT '李四','010-1111111','' FROM dual
UNION ALL
SELECT '李四','','11000000000' FROM dual),
b(名字,电话,身份证)
as(SELECT 名字,电话,max(身份证) FROM t GROUP BY 名字,电话)
SELECT 名字,listagg(电话,'、')WITHIN GROUP(ORDER BY 名字) 电话,max(身份证) 身份证 FROM b GROUP BY 名字
名字 电话 身份证
---- -------------------------------------------------------------------------------- ------------
李四 010-1111111 11000000000
张三 021-0000001、021-0000002 330000000001