99问答网
所有问题
在oracle的表里边,三个字段,abc,ab唯一,c可能对应多个ab,显示为多条记录: a b c1 a b c2 a b c3
我想使结果显示为一条记录,如a b c1c2c3,语句应该怎么写呢~
举报该问题
推荐答案 2016-09-08
WITH tab AS
(SELECT 'A' a,
'B' b,
'C1' c
FROM dual
UNION ALL
SELECT 'A' a,
'B' b,
'C2' c
FROM dual
UNION ALL
SELECT 'A' a,
'B' b,
'C3' c
FROM dual)
--
SELECT a,
b,
listagg(c) within GROUP(ORDER BY a, b)
FROM tab
GROUP BY a,
b;
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/WBWezz7XXjvOBjO7t7t.html
其他回答
第1个回答 2016-09-09
参考如下sql的写法:
SELECT (STUFF((
SELECT ', ' + StringValue
FROM 表名
WHERE 字段A= 'ab'
FOR XML PATH('')
), 1, 2, '')
) AS StringValue
相似回答
大家正在搜