2

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

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

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

提前致谢!

4

2 回答 2

2

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

但是,您希望使用 IN 语句“似乎”是可行的。

select 
   * 
from 
   whatever 
where id IN (1,2,3)
于 2013-09-24T16:14:00.703 回答
1

如果没有大量上下文,我们无法提供更好的答案,但您可以在 sql 中完成一些 FOR 循环。

declare @ctr integer

set @ctr = 1

while @ctr < 1000
begin

--Do your logic

select @ctr = @ctr + 1

end

但这并不是对 SQL 的一种非常有效的使用。您应该能够编写您需要的内容而无需对其进行迭代。在 SETS 中思考,您将与您的 RDBMS 相处得更好。

于 2013-09-24T16:13:01.790 回答