日期:2014-05-17  浏览次数:20387 次

select多行结果 赋值给一个变量 搞不明白来发问 请帮忙
举个例子  有一个人员信息表

select * from 奇葩人员信息表

结果:
   ID     姓名     年龄
   001   李大傻   78
  002   王大锤    69
  003   张三丰    999

现在我想把这个表中人员信息的所有人的姓名 保存到一个变量'@奇葩集合'当中
DECLARE @奇葩集合 类型帮我指出,

select @奇葩集合

目标结果:
   李大傻,王大锤,张三丰


分不多 题不难 就是我不会 请指教

------解决方案--------------------
上面的for 写错了

DECLARE @X XML
SET @X=(SELECT [姓名] FROM [奇葩人员信息表] FOR XML AUTO ) 
PRINT CONVERT(VARCHAR(MAX),@X)

------解决方案--------------------
if object_id('Userinfo', 'u') is not null
drop table Userinfo
Create table Userinfo
(
 ID Varchar(12) primary key,
 Name varchar(64) not null,
 Age Int not null 
)
Insert into Userinfo
Select  '001' ,  '李大傻',   78
union
Select  '002',  '王大锤',    69
Union
Select  '003' ,   '张三丰',    999

Declare @Names Varchar(128)

Select @Names = ISNULL(@Names + ',', '') + Name From Userinfo
print @Names