将mssql查询结果拼接位一个字段
如果在 MSSQL 查询中有三条结果,并且想将它们拼接成一个字段,可以使用 FOR XML PATH('')
来实现。
- 在 SQL Server 中,使用
FOR XML PATH('')
可以将查询结果转换为 XML 格式,并通过指定空字符串作为参数,实现将多行结果拼接成单个字符串的效果。
应用场景:
将明细表某字段赋值给主表某字段。
- 当然也可以使用js实现。此处想偷懒。。。。
示例:
假设查询结果为:
列名 |
A |
B |
C |
可以使用以下查询来将这三条结果拼接成一个字段:
SELECT STUFF((SELECT ',' + 列名
FROM 表名
FOR XML PATH('')), 1, 1, '') AS 拼接字段名;
在这个查询中:
表名
是你要查询的表名。列名
是你要拼接的列名。拼接字段名
是生成的拼接字段的别名。
再举例
SELECT
STUFF(
(
SELECT
',' + uf_nscgddxz_dt1.item
FROM
uf_nscgddxz
INNER JOIN uf_nscgddxz_dt1 ON uf_nscgddxz.id= uf_nscgddxz_dt1.mainid
WHERE
internalID = 149636 FOR XML PATH ( '' )
),
1,
1,
''
) AS ConcatenatedColumn;
THE END
0
二维码
打赏
海报
将mssql查询结果拼接位一个字段
如果在 MSSQL 查询中有三条结果,并且想将它们拼接成一个字段,可以使用 FOR XML PATH('') 来实现。
在 SQL Server 中,使用 FOR XML PATH('') 可以将查询结……
共有 0 条评论