|
我在标准数据集里面写了一段语句用刀参数,语句如下: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 :无效的列类型。
还有就是标准数据集只能对前台的逻辑表进行查询吗,能不能对后台的视图或同义词查询? |
|