加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 08:46:12 所属栏目:MsSql教程 来源:网络整理
导读:假设我们有一个简单的查询: SELECT x FROM tWHERE t.y = z 如果我们在结果集中有一条记录,我想将变量@v设置为该值.如果我们有两个或更多的记录,我希望结果由逗号和空格隔开.写这个T-SQL代码的最好办法是什么? 例: 结果集1记录: Value1 结果集2条记录: Va
假设我们有一个简单的查询:
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读