微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何用它们之间的逗号列出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

原文地址:https://www.jb51.cc/mssql/75402.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐