假设我们有一个简单的查询:
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 举报,一经查实,本站将立刻删除。