将SQL select的结果存储在变量中

时间:2017-03-14 09:37:35

标签: sql-server

我在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列

3 个答案:

答案 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

enter image description here

答案 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)