‘壹’ 如何用sql循环查询语句
最好的方法是使用存储过程,然后使用一个临时表,把每次选择的数据保存到临时表中。
临时表可以在存储过程中使用 creat table #表名(字段 字段类型) 来创建,这样的表只在当前存在,相当于放到了内存里,你也可以实际的建一个表,然后把查出的结果都保存进去。以后选择都从这个表里查。
大概意思就是这样
declare @tmp=304
creat table #临时表(学校名称 varchar(200),学校代码 varchar(200),人数 int,总成绩 varchar(30))
while @tmp<600
begin
declare @tmpb=@tmp+1
declare @zcj=@tmp+'-'+@tmpb
insert into #临时表 select 学校代码,学校名称,count(*) as 人数,@zcj as 总成绩 from cjd where 总成绩>=@tmp and 总成绩<@tmpb group by 学校代码,学校名称
@tmp=@tmp+1
end
select * from #临时表
go
大概的意思就是这样,如果你创建好了本地实际的表,那就省掉创建表,然后把数据插到创建好的表中即可,而且这样方便你以后做各种查询,所以推荐你还是创建一个这样的表比较好。
‘贰’ sql语句的循环的使用(急)
同意楼上:
st_1.text=string(s)//每次都把最后一个结果赋值给了st_1,前面的结果就被覆盖掉了
改成st_1.text += string(s),把当前的结果和先前的结果拼接起来就对了
‘叁’ SQL 语句简单的循环怎么写啊!
你最好是把你的需要以及表结构还有一些简单的数据贴出来
如果要循环,那就在过程或者程序块里实现
‘肆’ 如何用Sql语句循环执行语句
SQL语句无法实现循环,只能通过程序或者存储过程来实现。
如果只是一次性工作,则建议直接用EXCEL的公式手批量生成SQL语句 然后一次性贴到MYSQL的命令行工具中执行即可。
S1 : 创建一个模板表 create table t (id int, col1 int , col2 varchar(10));
S2 : EXCEL中在A1输入 ="create table t"&ROW()&" like t;"
S3: 下拉填充这个A1至A1000
create table t1 like t;
create table t2 like t;
create table t3 like t;
create table t4 like t;
create table t5 like t;
create table t6 like t;
create table t7 like t;
create table t8 like t;
create table t9 like t;
create table t10 like t;
S4: 复制到MYSQL命令行工具一次行执行。
‘伍’ SQL中循环语句
可以用变量的形式来增加,不过你的userid 三位显然不够,因为你要加10000数据,所以要和authnum形式一样,5位才够
下面是一个简单的例子,你可以根据实际需求来改一下。
DECLARE @i int
DECLARE @strUserId varchar(10)
DECLARE @strAuthnum varchar(10)
Set @i = 0
WHILE @i < 10000
BEGIN
Set @i =@i +1
SET @strUserId = RIGHT('00000' + CAST(@i AS varchar(10)),5)
SET @strAuthnum = @strUserId
insert into user_info values(@strUserId,@strAuthnum)
END
‘陆’ 在sql语句中如何进行循环查询
你是相查表中所有条件为表1.a=表2.a 的记录吗
如果是 可用以下语句
select * from 表2 where 表2.a in (select a from 表1)
‘柒’ sql的循环语句该怎么写
ORACLE ?
@i 是sql的语法
oracle不能加@
‘捌’ sql 循环的语句
子查询不就行吗?既然表A的值已经查出来了,那么直接用in或者exists不就可以了,为什么还要用循环?
比如 where B表字段 in (A语句查询结果) 直接就可以用了。