sql语句:select username from users
一共三个用户,结果为:
usera
userb
userc
我想用sql语句实现把这三条记录中的username变成一个字符串 usera,userb,userc
请问有哪位知道如何实现
|
declare @S varchar(max)
Set @S=''
Select @S = (@S + username + ',') FROM users
-- 输出--
Select *,@S as S From users
这样的操作应该最好不要放在数据库查询串里,而是应该取出来后 再自己组吧? 一般情况下,建议不要在数据库这么做,而是拿到程序中来,让程序做这样属于逻辑的事情。 当然了,如果你要在一个存储过程中实现非常复杂的计算和其它需要,和程序不相关的,就要特殊情况特殊处理了。 SELECT 'usera' AS UserName INTO # UNION SELECT 'userb' UNION SELECT 'userc' DECLARE @Temp VARCHAR(200) SET @Temp = '' SELECT @Temp = @Temp + UserName + ',' FROM # SET @Temp = SUBSTRING(@Temp, 1, LEN(@Temp) - 1) PRINT @Temp DROP TABLE # |