postgresql使用string_agg (field, ‘,‘ )函数把一对多数据拼接在一起

未使用函数前数据

SELECT
	t1.CODE,
	NAME,
	munit,
	munitcode,
	isbd,
	COALESCE ( t2.type, '' ) AS type,
	COALESCE ( t2.fid, '' ) AS wybsm,
	address 
FROM
	projdata t1
	LEFT JOIN sv_jianzhu t2 ON t1.CODE = t2.CODE 
WHERE
	1 = 1 
ORDER BY
	isbd DESC

下面红框数据除了wybsm不同其他字段都相同
在这里插入图片描述

使用函数后

SELECT
	t1.CODE,
	NAME,
	munit,
	munitcode,
	isbd,
	COALESCE ( t2.type, '' ) AS type,
	string_agg ( COALESCE ( t2.fid, '' ), ',' ) AS wybsm,
	address 
FROM
	projdata t1
	LEFT JOIN sv_jianzhu t2 ON t1.CODE = t2.CODE 
WHERE
	1 = 1 
GROUP BY
	t1.CODE,
	t1.NAME,
	t1.munit,
	t1.munitcode,
	t1.isbd,
	type,
	address 
ORDER BY
	isbd DESC

被拼接在一块了
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值