起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 138|回复: 2

【揭帖】还是参数问题,请帮忙,我的版本是3012**

[复制链接]
发表于 2008-6-11 17:08:11 | 显示全部楼层 |阅读模式
我在标准数据集里面写了一段语句用刀参数,语句如下:SELECT t1.ship_no,t1.ship_nam,t1.jing_tim,t1.lig_tim,t1.sum_top,
           t1.pkg_kind_cod,t1.weight_wgt,t1.teu,
           t1.m_cargo_kind_cod,t1.m_cargo_kind_nam,
           t2.stop_hour stop_hour,
           t2.stop_hour /nvl((t1.WEIGHT_WGT ),0) *1000 stop1000,
                t2.stop_hour /nvl((t1.teu),0)  stop2000_teu
FROM (
        SELECT a.ship_no,
                   MAX(a.SHIP_NAM) SHIP_NAM,
                   MAX(a.jing_tim) jing_tim,
                   MAX(a.lig_tim) lig_tim,
                   MAX(a.sum_top) sum_top,
                   a.pkg_kind_cod,
                   SUM(a.weight_wgt) weight_wgt,
                        sum(a.teu) teu,
                   a.m_cargo_kind_cod,
                   MAX(a.m_cargo_kind_nam)m_cargo_kind_nam
        FROM(
                select     tt2.ship_no,
                                                max(tt2.ship_nam) ship_nam,
                                                max(tt2.jing_tim) jing_tim,
                                                max(tt2.lig_tim)  lig_tim,
                                                max(tt2.sum_top)  sum_top,
                                                max(tt2.pkg_kind_cod) pkg_kind_cod,
                                                sum(tt2.weight_wgt) weight_wgt,
                                                sum(tt2.teu) teu,
                                                max(tt2.m_cargo_kind_cod) m_cargo_kind_cod,
                                                max(tt2.m_cargo_kind_nam) m_cargo_kind_nam
                        from (
                                select tt1.ship_no,
                                                tt1.ship_nam,
                                                tt1.jing_tim,
                                                tt1.lig_tim,
                                                tt1.sum_top,
                                                first_value(tt1.PKG_KIND_COD) over (partition by tt1.ship_no order by tt1.weight_wgt desc) PKG_KIND_COD,
                                                tt1.weight_wgt,
                                                tt1.teu,
                                                first_value(tt1.cargo_kind_cod) over (partition by tt1.ship_no order by tt1.weight_wgt desc) m_cargo_kind_cod,
                                                first_value(tt1.M_cargo_kind_nam) over (partition by tt1.ship_no order by tt1.weight_wgt desc) m_cargo_kind_nam
                                from (
                                                SELECT a.SHIP_NO,
                                                                MAX(a.SHIP_NAM)SHIP_NAM,
                                                                MAX(NVL(d.RTA, d.RTB)) jing_tim,
                                                                MAX(d.RTD) lig_tim,
                                                                (MAX(d.RTD) - MAX(NVL(d.RTA, d.RTB)))*24 sum_top,
                                                                DECODE(a.PKG_KIND_COD,'0','0','1') PKG_KIND_COD,
                                                                SUM(a.CARGO_WGT) WEIGHT_WGT,
                                                                b.CARGO_KIND_COD,
                                                                MAX(e.CARGO_KIND_NAM)M_CARGO_KIND_NAM,
                                                                sum(nvl(a.CARGO_NUM,0)) teu
                                                FROM SHIP d,
                                                         SHIP_THRUPUT a,C_CARGO_LIST_DEPT b ,C_CARGO_KIND_DEPT e       
                                                WHERE d.ship_no       = a.ship_no AND
                                                          A.CARGO_COD = b.CARGO_COD AND
                                                          b.DEPT_COD = '03' AND
                                                          b.CARGO_KIND_COD = e.CARGO_KIND_COD AND
                                                          e.DEPT_COD       = '03' AND
                                                          d.RTD >= :ad_d1 AND
                                                          d.RTD <= :ad_d2  and
                                                          b.cargo_kind_cod = '0114' and
                                                          a.CARGO_WGT > 0
                                                GROUP BY a.SHIP_NO,b.CARGO_KIND_COD,a.PKG_KIND_COD) tt1
                                                ) tt2                                       
                        group by tt2.ship_no                                 ) a

        GROUP BY  a.ship_no,a.pkg_kind_cod,a.m_cargo_kind_cod
        )t1,
        (
                 SELECT a.ship_no,SUM((a.end_tim -  a.BEG_TIM)*24) stop_hour
                FROM SHIP f,V_SHIP_STATUS a,C_SHIP_STAT b
                WHERE f.ship_no = a.ship_no AND
                                a.ship_stat_cod = b.SHIP_STAT_COD AND
                         ( b.SHIP_FAIL_COD LIKE '1%' OR b.SHIP_FAIL_COD LIKE '21%')         AND
                                f.RTD >= :ad_d1 AND
                                f.RTD <= :ad_d2
          GROUP BY a.ship_no
         )t2
WHERE t1.ship_no = t2.ship_no
其中的ad_di和ad_d2为参数。
确定时报如下错误:error occur during invoke getRecords method, setVariantParam error :无效的列类型。
还有就是标准数据集只能对前台的逻辑表进行查询吗,能不能对后台的视图或同义词查询?
回复

使用道具 举报

发表于 2008-6-12 09:14:34 | 显示全部楼层
楼主,这么长的sql语句,为什么不做成存储过程或者视图呢。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-16 12:36:19 | 显示全部楼层
可以揭帖了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-18 01:38 , Processed in 0.038617 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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