declare @sql varchar(1000)
set @sql = ''
select @sql = ',' + name from YourTable
set @sql = stuff(@sql, 1, 1, '')
print @sql
set @sql = ''
select @sql = ',' + name from YourTable
set @sql = stuff(@sql, 1, 1, '')
print @sql
解决方案 »
- 微机原理课程设计——低频信号发生器
- 请问微软新发布了一个像sqllite的嵌入式的数据库叫什么名字
- 急等,这个sql如何编写!!
- 今天去面试SQL SERVER 2005 DBA的面试题
- sql“查询分析器”帮助好像有个例子是说用“栈”来实现“父子递归”的,我现在找不到,请各位高手提供一下吧!
- 程序问题,解决后马上散分 在线等 谢谢大家了!
- 一个比较难的SQL取数据
- 行转列问题
- 如何建立这样的报表? 郁闷几天了 请高手指教啊
- 关于ORCALE和SQL SERVER之间的数据交互问题,在线等待。。。。。。。
- sql多值对多值搜索,如何匹配?
- 我用查询语句在表中查不到记录。好像隐藏了一样。怎么回事啊。知道的大侠帮帮忙。谢谢先。
set @name=''
select @name=@name+','
from 表
print @name
declare @sql varchar(1000)
set @sql = ''
select @sql = @sql + ',' + name from YourTable
set @sql = stuff(@sql, 1, 1, '')
print @sql
Select @S = @S + ',' + name From 表
Select @S = Stuff(@S, 1, 1, '')
Select @S As name
select STUFF(REPLACE(REPLACE(
(
SELECT name M FROM 表 N
FOR XML AUTO
), '<N M="', ','), '"/>', ''), 1, 1, '')
declare @sql varchar(1000)
set @sql = ''
select @sql = ',' + name from YourTable
set @sql = stuff(@sql, 1, 1, '')
print @sql
的结果是最后一条的纪录——好像得用while循环吧--------------------------------------
dawugui(潇洒老乌龟)
declare @name varchar(8000)
set @name=''
select @name=@name+','
from 表
print @name
的结果是一连串的,,,,,,,,,,,,,,,,,,,,,,,,,-----------------------------------
Limpire(昨夜小楼)
declare @sql varchar(1000)
set @sql = ''
select @sql = @sql + ',' + name from YourTable
set @sql = stuff(@sql, 1, 1, '')
print @sql
是不出结果的。
-----------------------------------------
paoluo(一天到晚游泳的鱼)
Declare @S Varchar(2000)
Select @S = @S + ',' + name From 表
Select @S = Stuff(@S, 1, 1, '')
Select @S As name
的结果是null
set @sql = ''
select @sql = @sql + ',' + name from YourTable
set @sql = stuff(@sql, 1, 1, '')
print @sql
我的要改下Declare @S Varchar(2000)
Select @S = '' --加上這個
Select @S = @S + ',' + name From 表
Select @S = Stuff(@S, 1, 1, '')
Select @S As name
declare @sql varchar(1000)
set @sql = ''
select @sql = @sql + ',' + name from YourTable
set @sql = stuff(@sql, 1, 1, '')
print @sql
是不出结果的。------------------------------------------------------
/*
我的代码有可能错,一旦发现我会第一时间通知楼主,并贴出正确代码。你说我第二次贴出的代码不出结果,下面的是什么?
*/
declare @test table (name varchar(10))
insert @test
select '张三' union all
select '李四' union all
select '王五' union all
select '卢芳' union all
select '操利' union all
select '李焱' union all
select '季霞' union all
select '周中继' union all
select '张延' union all
select '孙起'declare @sql varchar(1000)
set @sql = ''
select @sql = @sql + ',' + name from @test
set @sql = stuff(@sql, 1, 1, '')
print @sql
---------------------(所影响的行数为 10 行)张三,李四,王五,卢芳,操利,李焱,季霞,周中继,张延,孙起
老兄:不行的,还是null。
---------------
不可能啊,我做了修改的 Declare @S Varchar(2000)
Select @S = '' --加上這個
Select @S = @S + ',' + name From 表
Select @S = Stuff(@S, 1, 1, '')
Select @S As name
insert @test
select N'张三' union all
select N'李四' union all
select N'王五' union all
select N'卢芳' union all
select N'操利' union all
select N'李焱' union all
select N'季霞' union all
select N'周中继' union all
select N'张延' union all
select N'孙起'Declare @S NVarchar(2000)
Select @S = '' --加上這個
Select @S = @S + ',' + name From @test
Select @S = Stuff(@S, 1, 1, '')
Select @S As name
--Result
/*
name
张三,李四,王五,卢芳,操利,李焱,季霞,周中继,张延,孙起
*/
两位用临时表是可以得出正确结果的。
但是我的数据库中确实存在student表,select name from student的结果是:张三
李四
王五
卢芳
操利
李焱
季霞
周中继
张延
孙起 可是用
declare @sql varchar(1000)
set @sql = ''
select @sql = @sql + ',' + name from student
set @sql = stuff(@sql, 1, 1, '')
print @sql
和
Declare @S NVarchar(2000)
Select @S = '' --加上這個
Select @S = @S + ',' + name From student
Select @S = Stuff(@S, 1, 1, '')
Select @S As name
在查询分析器中就是看不到结果呀!不知道怎么回事,还请两位帮我再看一下,谢谢了!
select @sql = @sql + ',' + isnull(name, '') from @test
Select @S = '' --加上這個
Select @S = @S + ',' + isnull(name, '') From student
Select @S = Stuff(@S, 1, 1, '')
Select @S As name
Limpire(昨夜小楼) 和Limpire(昨夜小楼) 把分平分了吧。
paoluo(一天到晚游泳的鱼)和Limpire(昨夜小楼) 把分平分了吧。