我想在一个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是否支持某种列表? 任何帮助都会很感激。
答案 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
这将返回一个表本身所需的所有行。然后在代码中处理此表以过滤所需的行。