51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3331|回复: 5
打印 上一主题 下一主题

[求助] 开发写的sql看不太懂啊---求教高手指点下

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-7-14 11:40:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Select sum(nvl(a.amt, 0)) amt1,
       sum(nvl(b.amt, 0)) amt2,
       sum(nvl(a.amt, 0)) - sum(nvl(b.amt, 0)) amt3,
       nvl(curbal, 0) amt4,
       ORIGINALBAL amt5,
       curbal amt6,
       endbal amt7,
       t.Account,
       t.ctrlid,
       t.bdglevel,
       m.account oriaccount
  From t_glbdgctrl t,
       t_glrecord a,
       t_glrecordbdg b,
       (Select Distinct ctrlid, account
          From (Select case
                         when b.amt > 0 then
                          a.fromctrlid
                         else
                          a.toctrlid
                       end ctrlid,
                       nvl(b.account, 0) account
                  From T_PLANMAIN a,
                       (select * from t_glrecord where dc = -1) b
                 Where a.billid = b.objectid(+)
                   And a.vchtypeid = b.vchtypeid(+)
                   and a.billid = 341923
                   and a.vchtypeid = 15)) m
Where t.ctrlid = m.ctrlid
   And (t.ctrlid = a.ctrlid And a.dc = -1 And a.recid = b.recid(+))
Group By t.Originalbal,
          t.Curbal,
          t.Endbal,
          t.Account,
          t.Ctrlid,
          t.Bdglevel,
          m.Account
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-7-14 20:12:32 | 只看该作者
Select sum(nvl(a.amt, 0)) amt1,
       sum(nvl(b.amt, 0)) amt2,
       sum(nvl(a.amt, 0)) - sum(nvl(b.amt, 0)) amt3,
       nvl(curbal, 0) amt4,
       ORIGINALBAL amt5,
       curbal amt6,
       endbal amt7,
       t.Account,
       t.ctrlid,
       t.bdglevel,
       m.account oriaccount
  From t_glbdgctrl t,
       t_glrecord a,
       t_glrecordbdg b,
      m
Where t.ctrlid = m.ctrlid
   And (t.ctrlid = a.ctrlid And a.dc = -1 And a.recid = b.recid(+))
Group By t.Originalbal,
          t.Curbal,
          t.Endbal,
          t.Account,
          t.Ctrlid,
          t.Bdglevel,
          m.Account

以上是t, a, b, m四个表做连接(join),然后对连接结果进行分组(group by)。

其中,表m是查询出来的,即 m =

(Select Distinct ctrlid, account
          From m2)

其中,表m2也是查询出来的,即 m2 =

(Select case
                         when b.amt > 0 then
                          a.fromctrlid
                         else
                          a.toctrlid
                       end ctrlid,
                       nvl(b.account, 0) account
                  From T_PLANMAIN a,
                       (select * from t_glrecord where dc = -1) b
                 Where a.billid = b.objectid(+)
                   And a.vchtypeid = b.vchtypeid(+)
                   and a.billid = 341923
                   and a.vchtypeid = 15))

以上代码表明,m2是表a和表b做连接(join)的结果。其中b也是查询所得,即 b = (select * from t_glrecord where dc = -1)
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-7-16 17:59:10 | 只看该作者

qtp求教

自己在录制好的QTP脚本中插入一行:“Browser("用户登录").Page("财政管理一体化信息系统(IFMIS)_3").WebTable("序号").ChildItem(3,7,"WebEdit",0).set"0.01"”
结果回放的时候报错:
Browser("用户登录").Page("财政管理一体化信息系统(IFMIS)_3").WebTable("序号").ChildItem(3,7,"WebEdit",0).set"0.01"

求教:怎样把插入的代码在对象库中添加
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-7-21 09:37:57 | 只看该作者

回复 3# 的帖子

楼上QTP 的问题,怎么问道这帖子里面了??
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2010-7-21 09:54:30 | 只看该作者

回复 3# 的帖子

代码中的几个对象已经在对象库中了吗?可能是对象库中缺少某一个对象导致的。
“Browser("用户登录").”
“Page("财政管理一体化信息系统(IFMIS)_3").”
“WebTable("序号").”
“ChildItem(3,7,"WebEdit",0).”

如果没有,可以在resources--object repository 中添加对象到对象库按钮;
选中与添加对象有关联的已经存在对象识别,添加就可以了。

PS:QTP的问题,可以到专门的QTP版本提问,那样你能得到更快速的回复。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2010-7-23 10:14:48 | 只看该作者

谢谢

谢谢各位指点!!!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-16 21:11 , Processed in 0.076529 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表