迭代选择结果

时间:2013-02-17 11:48:50

标签: sql-server

我想在一个select语句的SQLServer中创建一个列表,然后使用这个select语句的结果来创建select组,例如,如果我有3个值从我的第一个select中返回,我' d喜欢运行一个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是否支持某种列表? 任何帮助都会很感激。

1 个答案:

答案 0 :(得分:0)

我认为你应该使用联接。

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

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