For循环的SQL替代方案

时间:2013-09-24 16:09:27

标签: sql ms-access loops

我在Access中使用SQL。我不是一个程序员,但我熟悉使用VBA和SQL基础知识。

我想要完成的是在Visual Basic中使用的for循环的SQL中等效。我知道这不是技术上的"可能在SQL中可能不是最好的方法,所以我正在寻找建议。我知道可以通过使用联合并为每个值重复查询来完成i = 1,2,3等。这样效率很低,而且很容易变得太复杂而无法评估。

基本上我需要的是查询i = 1的方法,然后重复并再次输出i = 2的数据,依此类推。使用group by i不是一个选项,因为也涉及几个子查询。

提前致谢!

2 个答案:

答案 0 :(得分:2)

确定您需要完成的工作并不是很清楚,我建议您发布表格结构以及需要检索的内容。

但是,使用IN语句“看起来”似乎是可行的。

select 
   * 
from 
   whatever 
where id IN (1,2,3)

答案 1 :(得分:1)

没有很多上下文,我们无法提供更好的答案,但你可以在sql中完成一些FOR循环。

declare @ctr integer

set @ctr = 1

while @ctr < 1000
begin

--Do your logic

select @ctr = @ctr + 1

end

但这不是SQL的高效使用。你应该能够编写你需要的东西,而不必迭代它。在SETS中思考,你将与你的RDBMS相处得更好。