如何用它们之间的逗号列出T-SQL结果?

前端之家收集整理的这篇文章主要介绍了如何用它们之间的逗号列出T-SQL结果?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我们有一个简单的查询
SELECT x 
FROM t
WHERE t.y = z

如果我们在结果集中有一条记录,我想将变量@v设置为该值.如果我们有两个或更多的记录,我希望结果由逗号和空格隔开.写这个T-sql代码的最好办法是什么?

例:

结果集1记录:

Value1

结果集2条记录:

Value1,Value2

结果集3条记录:

Value1,Value2,Value3

解决方法

这将给你一个逗号分隔列表的值列表
create table #temp
(
    y int,x varchar(10)
)

insert into #temp values (1,'value 1')
insert into #temp values (1,'value 2')
insert into #temp values (1,'value 3')
insert into #temp values (1,'value 4')

DECLARE @listStr varchar(255)

SELECT @listStr = COALESCE(@listStr+',','') + x
FROM #temp
WHERE #temp.y = 1

SELECT @listStr as List

drop table #temp

猜你在找的MsSQL相关文章