SELECT *
FROM (SELECT a.id,
a.PROJECT_NO,
a.PIPE_NO,
a.PIPE_VERSION,
a.WELD_NO,
c.IS_DELETE pipe_delete_flag,
a.IS_DELETE weld_delete_flag,
c.IS_TOP_VERSION,
c.IS_PAUSE,
d.PRE_ORG_NO,
d.INSTALL_ORG_NO,
pb1.name PRE_ORG_name,
pb2.name INSTALL_ORG_name,
c.DRAW_NO,
c.PAGE_NO,
c.MODIFY_TYPE,
c.PIPELINE_NO,
d.IS_INHERIT,
c.BLOCK,
a.SYS_NO,
a.SYS_NAME,
b.wps_no,
e.PWHT,
a.PWELD_FLAG,
b.welding_mat_Spec,
b.BATCH_NO,
b.CERT_NO,
b.WELDER_NO,
wu.name WELDER_Name,
b.TEAM_NO,
wt.name team_name,
b.WELDING_COOP_NO,
b.WELDING_COOP_Name,
b.welding_finish_date,
f.RELEASE_DATE,
a.WELD_LENGTH,
a.P1_PIPE_NO,
a.P1_PART_NO,
a.P1_MATERIAL,
a.P2_PIPE_NO,
a.P2_PART_NO,
a.P2_MATERIAL,
a.WELD_CONN_TYPE_SHORT,
a.SHOP_FIELD_FLAG,
a.CALIBER,
a.THICKNESS,
a.WELD_INCH_QTY,
a.BRANCH_TYPE,
b.SHOP_WORKHOUR,
b.FIELD_WORKHOUR,
a.IS_PIPE_WELD,
c.INSPECTION_CLASS,
c.PIPE_CLASS,
c.piping_class,
plan.RT_PAUT_RATIO,
plan.PT_MT_RATIO,
plan.HT_RATIO,
plan.FH_RATIO,
plan.PMI_RATIO,
RT_PAUT.Lot_actual_ratio rt_actual_ratio,
MT.Lot_actual_ratio pt_mt_actual_ratio,
HT.Lot_actual_ratio HT_Lot_actual_ratio,
FN.Lot_actual_ratio FH_Lot_actual_ratio,
PMI.Lot_actual_ratio PMI_Lot_actual_ratio,
RT_PAUT.Lot_ratio RT_PAUT_Lot_ratio,
MT.Lot_ratio PT_MT_Lot_ratio,
case
when nvl(plan.RT_PAUT_RATIO, 0) = 0 or RT_PAUT.Lot_no is null then 3
else RT_PAUT.Lot_state end RT_PAUT_Lot_state,
case
when nvl(plan.PT_MT_RATIO, 0) = 0 or MT.Lot_no is null then 3
else MT.Lot_state end PT_MT_Lot_state,
case
when nvl(plan.RT_PAUT_RATIO, 0) = 0 or lot_weld.RT_PAUT_LOT_STATE = 3 then 'N/A'
when lot_weld.RT_PAUT_LOT_STATE is null then ''
when lot_weld.RT_PAUT_LOT_STATE = 0 then 'OK'
WHEN lot_weld.RT_PAUT_LOT_STATE = 1 then 'To Be Repaired'
WHEN lot_weld.RT_PAUT_LOT_STATE = 2 then 'To Be Extented' END RT_PAUT_LOT_ndt_STATE_STR,
case
when nvl(plan.PT_MT_RATIO, 0) = 0 or lot_weld.PT_MT_LOT_STATE = 3 then 'N/A'
when lot_weld.PT_MT_LOT_STATE is null then ''
when lot_weld.PT_MT_LOT_STATE = 0 then 'OK'
WHEN lot_weld.PT_MT_LOT_STATE = 1 then 'To Be Repaired'
WHEN lot_weld.PT_MT_LOT_STATE = 2 then 'To Be Extented' END PT_MT_LOT_ndt_STATE_STR,
case
when nvl(plan.RT_PAUT_RATIO, 0) = 0 and nvl(plan.PT_MT_RATIO, 0) = 0 and
nvl(plan.HT_RATIO, 0) = 0 and nvl(plan.FH_RATIO, 0) = 0 and nvl(plan.PMI_RATIO, 0) = 0
then 'NA'
else case
when (nvl(RT_PAUT.Lot_state, 2) = 0 OR plan.RT_PAUT_RATIO = 0) and
(nvl(MT.Lot_state, 2) = 0 OR plan.PT_MT_RATIO = 0) and
(nvl(Ht.Lot_state, 2) = 0 OR nvl(plan.HT_RATIO, 0) = 0) and
(nvl(PMI.Lot_state, 2) = 0 OR nvl(plan.PMI_RATIO, 0) = 0) and
(nvl(FN.Lot_state, 2) = 0 OR nvl(plan.FH_RATIO, 0) = 0) and
(nvl(lot_weld.RT_PAUT_LOT_STATE, 2) = 0 OR
nvl(lot_weld.RT_PAUT_LOT_STATE, 2) = 3 OR plan.RT_PAUT_RATIO = 0) and
(nvl(lot_weld.PT_MT_LOT_STATE, 2) = 0 OR
nvl(lot_weld.PT_MT_LOT_STATE, 2) = 3 OR plan.PT_MT_RATIO = 0) and
(nvl(lot_weld.HT_LOT_STATE, 2) = 0 OR nvl(lot_weld.HT_LOT_STATE, 2) = 3 OR
nvl(plan.HT_RATIO, 0) = 0) and
(nvl(lot_weld.PMI_LOT_STATE, 2) = 0 OR nvl(lot_weld.PMI_LOT_STATE, 2) = 3 OR
nvl(plan.PMI_RATIO, 0) = 0) and
(nvl(lot_weld.FH_LOT_STATE, 2) = 0 OR nvl(lot_weld.FH_LOT_STATE, 2) = 3 OR
nvl(plan.FH_RATIO, 0) = 0) THEN '合格'
when (nvl(RT_PAUT.Lot_state, 2) = 1 AND plan.RT_PAUT_RATIO !=0) or
(nvl(MT.Lot_state, 2) = 1 AND plan.PT_MT_RATIO !=0) or
(nvl(Ht.Lot_state, 2) = 1 AND nvl(plan.HT_RATIO, 0) != 0) or
(nvl(PMI.Lot_state, 2) = 1 AND nvl(plan.PMI_RATIO, 0) != 0) or
(nvl(FN.Lot_state, 2) = 1 AND nvl(plan.FH_RATIO, 0) != 0) or
(nvl(lot_weld.RT_PAUT_LOT_STATE, 4) = 1 and
nvl(plan.RT_PAUT_RATIO, 0) != 0 or nvl(lot_weld.RT_PAUT_LOT_STATE, 4)=2 and nvl(plan.RT_PAUT_RATIO,0) != 0) or
(nvl(lot_weld.PT_MT_LOT_STATE, 4) = 1 and nvl(plan.PT_MT_RATIO, 0) != 0) or
(nvl(lot_weld.HT_LOT_STATE, 2) = 1 and nvl(plan.HT_RATIO, 0) != 0) or
(nvl(lot_weld.PMI_LOT_STATE, 2) = 1 and nvl(plan.PMI_RATIO, 0) != 0) or
(nvl(lot_weld.FH_LOT_STATE, 2) = 1 and nvl(plan.FH_RATIO, 0)!= 0) then '不合格'
ELSE '' END end AS last_status,
b.WPS_NO,
ww.QUOTA_WORKHOUR
FROM CP_PIPE_WELD_DESIGN_INFO a
LEFT JOIN CP_PIPE_WELD_PROD_INFO b
ON a.PROJECT_NO = b.PROJECT_NO AND a.PIPE_NO = b.PIPE_NO AND
a.PIPE_VERSION = b.PIPE_VERSION AND a.WELD_NO = b.WELD_NO
left join cp_pipe_design_info c
on a.PIPE_NO = c.PIPE_NO and a.PIPE_VERSION = c.PIPE_VERSION and
a.project_no = c.project_no
left join CP_PIPE_PROD_INFO d
on a.PIPE_NO = d.PIPE_NO and a.PIPE_VERSION = d.PIPE_VERSION and
a.project_no = d.project_no
LEFT JOIN CP_PIPELINE_DESIGN_INFO e
ON a.project_no = d.project_no AND c.pipe_run = e.PIPE_RUN
LEFT JOIN CP_PIPE_INSPECTION_INFO f
ON a.PROJECT_NO = f.PROJECT_NO AND a.PIPE_NO = f.PIPE_NO AND
a.PIPE_VERSION = f.PIPE_VERSION
LEFT JOIN PROJECT_BUILDBASE pb1 ON d.PRE_ORG_NO = pb1.ORG_NO
LEFT JOIN PROJECT_BUILDBASE pb2 ON d.INSTALL_ORG_NO = pb2.ORG_NO
LEFT JOIN t_user wu ON b.WELDer_NO = wu.code
LEFT JOIN T_WORKTEAM wt ON b.TEAM_NO = wt.CODE
left join CP_NDT_WELD_PLAN plan on plan.weld_id = a.id
left join CP_NDT_LOT_WELD lot_weld on lot_weld.weld_id = a.id
left join CP_NDT_LOT RT_PAUT on RT_PAUT.id = lot_weld.Rt_PAUT_lot_id
left join CP_NDT_LOT MT on MT.id = lot_weld.PT_MT_LOT_ID
left join CP_NDT_LOT HT on HT.id = lot_weld.ht_lot_id
left join CP_NDT_LOT FN on FN.id = lot_weld.fh_lot_id
left join CP_NDT_LOT PMI on PMI.id = lot_weld.pmi_lot_id
left join CP_WELD_QUOTA_WORKHOUR_DESP ww
ON ww.project_no = a.project_no AND ww.pipe_no = a.pipe_no AND
ww.pipe_version = a.pipe_version and ww.weld_no = a.weld_no)
WHERE project_no = 'H614'
AND weld_delete_flag = 'N'
AND pipe_delete_flag = 'N'
AND IS_TOP_VERSION = 'Y'
提示:SQL 错误 [918] [42000]: ORA-00918: 未明确定义列
但是select*from()括号里的语句是没有问题的,为什么外层的有问题
最新发布