如何写一个适合SQL查询语句的游标

selecta1.编码,avg(a1.动态),avg(最新价)fromzjmx3a1,(select编码,max(日期)as日期,max(排序)as高序,max(排序)-... select a1.编码,avg(a1.动态),avg(最新价) from zjmx3 a1,(select 编码,max(日期) as 日期,max(排序) as 高序, max(排序)-4 as 五序 from biao3 where 排序>5 group by 编码 ) as b1 where a1.编码=b1.编码 and 排序 between 五序 and 高序 group by a1.编码
以上查询语句可以精简为:
select a1.编码,avg(a1.动态),avg(a1.最新价) into fenxi3 from zjmx3 a1,biao2 b1 where a1.编码=b1.编码 and 排序 between b1.五序 and b1.高序 group by a1. 编码
目的就是利用一个游标将查询的数据一行一行的插入到一个 fenxi3 表中,请高手指点一二!
谢谢指点!

如果查询语句为以下情况该如何更改 游标 或更改 优先实现 语句
select a1.编码, a. 五日均量, a. 五日均价d. 七日均量, d.七日均价 into fenxi3 from
(select a1.编码,avg(a1. 动态) as 五日均量 ,avg(最新价) as 五日均价 from zjmx3 a1,fd b1 where a1. 编码=b1. 编码and 排序between b1.五序 and b1.高序 group by a1. 编码) a
join
(select b1.代码,avg(a1. 动态) as 七日均量 ,avg(最新价) as 七日均价 from zjmx3 a1,fd b1 where a1. 编码=b1. 编码and 排序 between 七序 and 高序 group by b1. 编码) as d
on a. 编码=d. 编码
展开
 我来答
lanniao007
2012-03-30 · TA获得超过1012个赞
知道小有建树答主
回答量:1489
采纳率:40%
帮助的人:449万
展开全部
优先实现:
Insert into fenxi3
select a1.编码,avg(a1.动态),avg(a1.最新价) from zjmx3 a1,biao2 b1 where a1.编码=b1.编码 and 排序 between b1.五序 and b1.高序 group by a1. 编码
游标实现:
DECLARE CR_SOHINMT CURSOR FAST_FORWARD FOR --REV.601
select a1.编码,avg(a1.动态),avg(a1.最新价) from zjmx3 a1,biao2 b1 where a1.编码=b1.编码 and 排序 between b1.五序 and b1.高序 group by a1. 编码
OPEN CR_SOHINMT
FETCH NEXT FROM CR_SOHINMT INTO @XXX,。。。。。 @XXXXX ---将取得数据存放到变量中
WHILE (@@fetch_status <> -1)
BEGIN
Insert into fenxi3 Vale(@XXX,。。。。。 @XXX,。。。。。 )
FETCH NEXT FROM CR_SOHINMT INTO @XXX,。。。。。 @XXXXX
END
更多追问追答
追问
谢谢!由于继续追问的问题字数超过长度,所以将问题放在补充问题中了,无论能否帮我解答出来,我都非常感谢你的指点。优先实现 与 游标实现 均有好的题案我会再追加20分的。
追答
一样实现。只是
DECLARE CR_SOHINMT CURSOR FAST_FORWARD FOR下面的Sql语句变更而已。
下面的变量必须与选择列一致。一样写出。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式