CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  开发

这个sql该怎么写?关于rownum和order和外查询值做为内查询的参数

楼主allenli(子木)2005-08-01 01:18:56 在 Oracle / 开发 提问

update   table1   t1  
  set   t1.前复权参数=   (select   a   from  
                                                    (select     tx_temp.aa   a  
                                                                      from   table1   t2    
                                                                      where   t1.dd=t2.dd  
                                                                      order   by   t2.d)  
                                                      where     rownum   =1)  
  这么写的时候提示t1.dd无效,也就是说在  
                                        (select   a   from  
                                                    (select     tx_temp.aa   a  
                                                                      from   table1   t2    
                                                                      where   t1.dd=t2.dd  
                                                                      order   by   t2.d)  
                                                      where     rownum   =1)  
  不能识别t1.dd  
   
  请各位高手赐教!!!! 问题点数:50、回复次数:7Top

1 楼njhart2003()回复于 2005-08-01 08:48:00 得分 0

只有改一下试试:  
  update   table1   t1  
  set   t1.前复权参数=   (select   a   from  
                                                    (select     tx_temp.aa   a  
                                                                      from   table1   t2,table1   t1  
                                                                      where   t1.dd=t2.dd  
                                                                      order   by   t2.d)  
                                                      where     rownum   =1)  
  Top

2 楼bobfang(匆匆过客)回复于 2005-08-01 09:04:21 得分 0

楼上njhart2003的语句与原题的需求相差十万八千里哦。^_^Top

3 楼duanzilin(寻)回复于 2005-08-01 09:30:15 得分 0

update   table1   t1  
  set   t1.前复权参数=   (select   a   from  
                                                    (select     tx_temp.aa   a  
                                                                      from   table1   t2    
                                                                      where   t1.dd=t2.dd  
                                                                      order   by   t2.d)  
                                                      where     rownum   =1)  
  这么写的时候提示t1.dd无效,是因为循环嵌套太深,2层以上就不能这么写了  
   
  楼上的方法似乎是给每个t1.前复权参数都赋了相同的值,试试下面的方法:  
  update   table1   t1  
  set   t1.前复权参数=   (select   distinct   first_value(tx_temp.aa)   over(order   by   t2.d)   a  
                                                        from   table1   t2    
                                                        where   t1.dd=t2.dd  
                                          )  
  Top

4 楼bobfang(匆匆过客)回复于 2005-08-01 12:01:34 得分 0

update   table1   t1  
  set   t1.前复权参数=   (select     min(tx_temp.aa)  
                                                    from   table1   t2,table1   t1  
                                                    where   t1.dd=t2.dd)  
  这样应该可以吧Top

5 楼duanzilin(寻)回复于 2005-08-01 13:19:39 得分 0

应该是最小的t2.d对应的tx_temp.aa的值,不是最小的tx_temp.aa的值吧Top

6 楼bobfang(匆匆过客)回复于 2005-08-01 14:42:31 得分 0

不好意思,没仔细看Top

7 楼am2004(阿明)回复于 2005-08-01 15:41:28 得分 0

update   table1   t1  
  set   t1.前复权参数=   (select   x.a   from   t1,  
                                                    (select     tx_temp.aa   a  
                                                                      from   table1   t2    
                                                                      where   t1.dd=t2.dd  
                                                                      order   by   t2.d)   x  
                                                      where     rownum   =1)  
   
  这样可以吗?  
  Top

相关问题

  • 求救ADOQuery->SQL参数查询
  • 把SQL参数查询改成不要参数怎么改
  • 怎么样在SQL中使用参数化查询????????????
  • SQL求助传递参数查询最大值
  • 关于SQL中传递参数的模糊查询
  • ADOQuery 的问题,查询带参数的SQL语句不成功
  • ADO参数查询?
  • 在用ADOquery控件参数化查询SQL SERVER数据库时,怎样给参数赋值?
  • 怎么写查询一个存贮过程中参数信息的SQL语句?
  • Sql查询时显示 至少一个参数没有被指定值

关键词

  • update table1t1set
  • dd
  • rownum
  • tx
  • aa
  • 前复权参数
  • 值
  • order
  • temp
  • where

得分解答快速导航

  • 帖主:allenli

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo