SELECT @ local_variable =表中的值,其中值可以有多个值

时间:2014-02-04 12:20:58

标签: sql

我正在使用以下查询
SELECT @local_variable=Adtid from table where Adtid可以存储多个值。因为我不知道在@ local_variable = Adtid中使用什么而不是'='。任何人都可以建议我应该使用什么而不是'=',以便我的本地变量可以拥有Adtid的所有值

2 个答案:

答案 0 :(得分:1)

变量实际上不能包含多个值。您可以改为声明一个表变量,然后可以执行类似

的操作
declare @tableVariable table
(
  Adtid int
);

insert into @tableVariable
select Adtid from table where Adtid ...

这会将相关行放在表变量中。现在您可以使用表变量来例如。创建一个游标(在数据中逐行进行 - 如果只需要经过一次,也可以在原始选择上执行)或在join子句中使用它。

答案 1 :(得分:0)

您可以使用以下语法将Adtid作为结果

中的逗号分隔符
DECLARE @local_variable VARCHAR(100) =''
SELECT  @local_variable +=  CAST(Adtid AS VARCHAR) + ',' FROM TABLE
PRINT  @local_variable 

以及另一种方式,如下面的答案。