1

我想用一个 select 语句在 SQLServer 中创建一个列表,然后使用这个 select 语句的结果来创建一组选择,例如,如果我有 3 个从我的第一个选择返回的值,我想运行一个 While 循环,该循环将运行 3 次并在每次交互中选择值。

这是我正在尝试做的一个例子:

我有一个选择语句:

Select ID
From T_1
Where T_1.somefield=1

返回的语句应该是:

|1|
|2|
|4|

由于我的 Where 条件,未显示 3。

我想迭代我的结果

set @myCount=select count(id) from -my result-
set @indexFlag=0;

while (@indexFlag<@myCount)
Begin


Select *
From T_2
Where T_2.field=...(1 - 1st loop, 2- 2nd loop, 4- 3rd loop)


@indexFlag=@indexFlag+1

结尾

我不确定如何实现它,SQLSERVER 是否支持某种列表?任何帮助将不胜感激。

4

1 回答 1

0

我认为你应该为此使用连接。

select t_2.* from t_1 left join t_2 
on t_1.ID = t_2.ID
where t_1.some_field = 1

这将返回一个表本身所需的所有行。然后在您的代码中处理此表以过滤所需的行。

于 2013-02-17T11:55:56.827 回答