PostgreSQL 疑问:如何将查询的内容用逗号连接
在SQlserver中是可以使用如下代码完成的FORXMLPATH('')stuff(select','+fieldnamefromtablenameforxmlpath...
在SQlserver中是可以使用如下代码完成的
FOR XML PATH('')stuff(select ',' + fieldname from tablename for xml path('')),1,1,'')
那么在PostgreSQL中呢?有没有对应的方法,求各位高手指点明路............... 展开
FOR XML PATH('')stuff(select ',' + fieldname from tablename for xml path('')),1,1,'')
那么在PostgreSQL中呢?有没有对应的方法,求各位高手指点明路............... 展开
2个回答
2014-03-27
展开全部
多行转一行
CREATE TABLE TestTitle (
name VARCHAR(10),
title VARCHAR(20)
);
INSERT INTO TestTitle VALUES ('张三', '程序员');
INSERT INTO TestTitle VALUES ('张三', '系统管理员');
INSERT INTO TestTitle VALUES ('张三', '网络管理员');
INSERT INTO TestTitle VALUES ('李四', '项目经理');
INSERT INTO TestTitle VALUES ('李四', '系统分析员');
SELECT
name,
array_to_string(ARRAY(SELECT unnest(array_agg(title))),',') AS allTitle
FROM
TestTitle
GROUP BY
name;
name | alltitle
------+------------------------------
李四 | 项目经理,系统分析员
张三 | 程序员,系统管理员,网络管理员
(2 行记录)
或者
SELECT
name,
string_agg(title,',') AS allTitle
FROM
TestTitle
GROUP BY
name;
name | alltitle
------+------------------------------
李四 | 项目经理,系统分析员
张三 | 程序员,系统管理员,网络管理员
(2 行记录)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询