我在SQL Server中有一个简单的SELECT语句,它返回多个值,如下所示:
1 Dog
2 Cat
3 Mouse
我需要知道是否有办法循环它们以将每个值存储在变量中,例如:
declare @animal1 nvarchar(50)
declare @animal2 nvarchar(50)
declare @animal3 nvarchar(50)
@animal1 = dog
@animal2 = cat
@animal3 = mouse
最终我希望所有单词形成一个字符串并将该字符串插入第二个表的1列
答案 0 :(得分:0)
declare @my_string varchar(1000)
select @my_string = ISNULL(@my_string + ', ', '') + animals.animal_name
from
(
values
(1, 'dog'),
(2, 'cat'),
(3, 'mouse')
) animals (id, animal_name)
select @my_string
答案 1 :(得分:0)
不确定您的意思,但是您可以使用表变量吗?
DECLARE @animals TABLE (
animal varchar(50)
);
并插入值?
答案 2 :(得分:0)
DECLARE @animals TABLE (
id int identity(1,1),--identity is optional if your select returns an id
name varchar(50)
);
insert into @animals
--Your Select statement here
Declare @string varchar(1000);
select @string = ISNULL(@string + ', ', '') + animals.animal_name
from
(
Select id, name from @animals
) animals (id, animal_name)