作为一个后台开发写数据报表是很平常的事情,但要写一个统计整个系统的东西还把两个东西合到一起你就应该有多恶心(关键是有些数据还不是按照规律)。还要在上面的情形下,不断的加数据改东西。说了这么多可能还是因为我自己太菜吧,不说了上SQL。
WITH FILEDOC AS
(SELECT BOD.FILENAME,
TO_CHAR(BOD.BO_DOC_BODY_ID) BO_DOC_BODY_ID,
BUS.BUSINESSOBJ_TYPE,
TO_CHAR(BUS.BUSINESSOBJ_ID) BUSINESSOBJ_ID,
DECODE(BUS.BUSINESSOBJ_TYPE,
'需求文件',
BUS.BUSINESSOBJ_ID || '1',
'技术规范书',
BUS.BUSINESSOBJ_ID || '2',
'工作量文件',
BUS.BUSINESSOBJ_ID || '3',
'可研委托',
BUS.BUSINESSOBJ_ID || '0',
'可研文本/项目建议书',
BUS.BUSINESSOBJ_ID || '1',
'可研会审文档',
BUS.BUSINESSOBJ_ID || '2',
'需求上会材料',
BUS.BUSINESSOBJ_ID || 'XQSH',
'初步设计变更批复',
BUS.BUSINESSOBJ_ID || 'CBSJPF',
'一阶段设计变更批复',
BUS.BUSINESSOBJ_ID || 'YJDBGPF',
'初步设计变更批复',
BUS.BUSINESSOBJ_ID || 'CBSJPF',
'竣工资料',
BUS.BUSINESSOBJ_ID || 'JGJS',
'可研变更申请',
BUS.BUSINESSOBJ_ID || '1',
'采购附件',
BUS.BUSINESSOBJ_ID || 'CGFJ',
'物资附件',
BUS.BUSINESSOBJ_ID || 'WZFJ',
TO_CHAR(BUS.BUSINESSOBJ_ID)) BUSINESSOBJ_ID1,
BOD.CREATORID,
BUS.EXTEND_1,
(SELECT V.FULLNAME FROM V_USER_ALL V WHERE V.USERID = BOD.CREATORID) FULLNAME,
TO_CHAR(BOD.CREATIONDATE, 'YYYY-MM-DD') CREATIONDATE,
TO_CHAR(BOD.BO_DOCUMENT_ID) BO_DOCUMENT_ID,
'手工上传' DOCFROM
FROM BO_DOCUMENT DOC, BO_DOC_BUSINESSOBJ BUS, BO_DOC_BODY BOD
WHERE DOC.BO_DOCUMENT_ID = BUS.BO_DOCUMENT_ID
AND BOD.BO_DOCUMENT_ID = BUS.BO_DOCUMENT_ID
AND DOC.DELETE_FLAG = '2'),
P_ AS
(SELECT T.*, RP.GATHERREQUIREMENTID
FROM BO_PROJECT T, BO_PROJECT_TO_REQUIREMENT RP
WHERE T.ID = RP.PROJECTID(+)
AND T.ID = 198268298),
OADOC AS
(SELECT T.ID,
T.VERSION,
T.TITLE,
T.APPID,
SUBSTR(T.APPLYDATE, 0, 10) APPLYDATE,
T.STATUS,
T.PMBIZCODE,
T.PMBIZTYPE,
T.OACODE,
T.OATITLE,
T.OADOCUMENTCODE,
T.OADOCUMENTHYPERLINK,
DECODE(T.OASTATE, 1, '审批中', 2, '审批完成') OASTATE,
SUBSTR(OAPUBLISHDATE, 0, 10) OAPUBLISHDATE,
FILETYPE,
BT.DATANAME OA_FILETYPE,
T.UPLOADTYPE,
T.PMID,
P.PROJECTNAME,
P.PARENTID,
P.ID PROJECTID,
'OA系统' DOCFROM
FROM PM_OADATAPROTOCOL_PM T,
P_ P,
(SELECT * FROM BO_BASEDATA T WHERE T.DATATYPE = 81) BT
WHERE (T.PROJECTID = 198268298 OR T.PMBIZCODE = P.GATHERREQUIREMENTID OR
T.PROJECTID IN (SELECT T.GATHERREQUIREMENTID
FROM BO_PROJECT_TO_REQUIREMENT T
WHERE T.PROJECTID = 198268298))
AND T.OASTATE != 3
AND T.FILETYPE = BT.DATACODE
AND (T.PROJECTID = TO_CHAR(P.ID) OR T.PMBIZCODE = P.GATHERREQUIREMENTID)),
JDN AS
(SELECT 'i_1_1_2' JDNAME, TO_CHAR(T.GATHERREQUIREMENTID) || '1' BUSINESSID
FROM BO_GATHERREQUIREMENT T
WHERE T.PROJECTID = 198268298
AND T.STYLE = 'GATHER'
UNION
SELECT 'i_1_1_4' JDNAME, TO_CHAR(T.GATHERREQUIREMENTID) || '1' BUSINESSID
FROM BO_GATHERREQUIREMENT T
WHERE T.PROJECTID = 198268298
AND T.STYLE = 'GATHER_SUM'
UNION
SELECT 'i_1_1_6' JDNAME, TO_CHAR(T.GATHERREQUIREMENTID) || '2' BUSINESSID
FROM BO_GATHERREQUIREMENT T
WHERE T.PROJECTID = 198268298
AND T.STYLE = 'GATHER_REVIEW'
UNION
SELECT 'i_1_2_1' JDNAME, TO_CHAR(T.GATHERREQUIREMENTID) || '3' BUSINESSID
FROM BO_GATHERREQUIREMENT T
WHERE T.PROJECTID = 198268298
AND T.STYLE = 'WORKLOAD_SUM'
UNION
SELECT 'i_1_2_3' JDNAME, TO_CHAR(T.GATHERREQUIREMENTID) || '3' BUSINESSID
FROM BO_GATHERREQUIREMENT T
WHERE T.PROJECTID = 198268298
AND T.STYLE = 'WORKLOAD_EVALATE'
UNION
SELECT 'i_1_2_5' JDNAME, TO_CHAR(T.GATHERREQUIREMENTID) || '3' BUSINESSID
FROM BO_GATHERREQUIREMENT T
WHERE T.PROJECTID = 198268298
AND T.STYLE = 'WORKLOAD'
UNION
SELECT 'i_1_3_2' JDNAME, TO_CHAR(T.ID) BUSINESSID
FROM BO_SCHEMEEXCHANGE T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_1_3_4' JDNAME, TO_CHAR(T.ID) BUSINESSID
FROM BO_SCHEMEDELIVERY T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_1_3_6' JDNAME, TO_CHAR(T.ID) BUSINESSID
FROM BO_SCHEMEMEETING T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_2_1_2' JDNAME, TO_CHAR(T.WORKFLOWSTEPID) || '0' BUSINESSID
FROM BO_DESIGNCONSIGN T
WHERE T.DESIGNDEPT IS NOT NULL
AND T.PROXYTYPE IN (2, 3)
AND T.PLANPROJECTID = 198268298
UNION
SELECT 'i_2_1_2' JDNAME, TO_CHAR(D.BINDID) || '0' BUSINESSID
FROM BO_DESIGNCONSIGN D, BO_SUPPLIER_INFO BSI
WHERE TO_CHAR(D.DESIGNDEPT) = TO_CHAR(BSI.BO_SUPPLIER_INFO_ID(+))
AND D.PLANPROJECTID = 198268298
AND PROXYTYPE IN (2, 3)
AND DESIGNDEPT IS NULL
UNION
SELECT 'i_2_2_2' JDNAME, TO_CHAR(T.ID) || '1' BUSINESSID
FROM BO_PROJECTFEASI T
WHERE T.DELIVERYDATE IS NOT NULL
AND T.PROJECTID = 198268298
UNION
SELECT 'i_2_3_2' JDNAME, TO_CHAR(T.ID) || '2' BUSINESSID
FROM BO_PROJECTFEASI T
WHERE T.JUDGEDATE IS NOT NULL
AND T.PROJECTID = 198268298
UNION
SELECT 'i_2_3_4' JDNAME, TO_CHAR(T.BO_FEASI_C_APPLY_ID) || '1' BUSINESSID
FROM BO_FEASI_C_APPLY T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_2_3_6' JDNAME, TO_CHAR(T.BO_FEASI_C_APPLY_ID) BUSINESSID
FROM BO_FEASI_C_APPLY T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_3_1_1' JDNAME, TO_CHAR(T.ID) || 'XQSH' BUSINESSID
FROM BO_PROJECT T
WHERE T.ID = 198268298
UNION
SELECT 'i_4_1_2' JDNAME, TO_CHAR(D.BINDID) BUSINESSID
FROM BO_DESIGNCONSIGN D, BO_SUPPLIER_INFO BSI
WHERE TO_CHAR(D.DESIGNDEPT) = TO_CHAR(BSI.BO_SUPPLIER_INFO_ID(+))
AND D.PLANPROJECTID = 198268298
AND PROXYTYPE IN (1, 3)
AND DESIGNDEPT IS NULL
UNION
SELECT 'i_4_2_2' JDNAME, TO_CHAR(T.PMS_DESIGN_SURVEY_ID) BUSINESSID
FROM PMS_PRJ_DESIGN_SURVEY T
WHERE T.PROJECT_ID = 198268298
UNION
SELECT 'i_4_4_6' JDNAME, TO_CHAR(T.BO_DESIGNONE_ID) BUSINESSID
FROM BO_DESIGNONE T
WHERE T.DESGIGNDRAWINGTYPE = 1
AND T.PROJECTID = 198268298
UNION
SELECT 'i_4_4_6' JDNAME,
TO_CHAR(T.BO_DESIGNREPLY_SUB_ID) || 'YJDBGPF' BUSINESSID
FROM BO_DESIGNREPLY_SUB T
WHERE T.CONSTRUCTTYPE = 4
AND T.PROJECTID = 198268298
UNION
SELECT 'i_4_4_6' JDNAME, TO_CHAR(T.BO_DESGIGN_INITIAL_ID) BUSINESSID
FROM BO_DESGIGN_INITIAL T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_4_4_6' JDNAME,
TO_CHAR(T.BO_DESIGNREPLY_SUB_ID) || 'CBSJPF' BUSINESSID
FROM BO_DESIGNREPLY_SUB T
WHERE T.CONSTRUCTTYPE = 6
AND T.PROJECTID = 198268298
UNION
SELECT 'i_4_5_6' JDNAME, TO_CHAR(T.BO_DESGIGN_INITIAL_ID) BUSINESSID
FROM BO_DESGIGN_INITIAL T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_4_5_6' JDNAME,
TO_CHAR(T.BO_DESIGNREPLY_SUB_ID) || 'CBSJPF' BUSINESSID
FROM BO_DESIGNREPLY_SUB T
WHERE T.CONSTRUCTTYPE = 6
AND T.PROJECTID = 198268298
UNION
SELECT 'i_4_6_6' JDNAME, TO_CHAR(T.BO_DESIGNREPLY_SUB_ID) BUSINESSID
FROM BO_DESIGNREPLY_SUB T
WHERE T.DESGIGNDRAWINGTYPE = 2
AND T.PROJECTID = 198268298
UNION
SELECT 'i_4_6_6' JDNAME, TO_CHAR(T.BO_DESIGNONE_C_APPLY_ID) BUSINESSID
FROM BO_DESIGNONE_C_APPLY T
WHERE T.CONSTRUCTTYPE = 1
AND T.PROJECTID = 198268298
UNION
SELECT 'i_4_6_6' JDNAME, TO_CHAR(T.BO_DESIGNREPLY_SUB_ID) BUSINESSID
FROM BO_DESIGNREPLY_SUB T
WHERE T.CONSTRUCTTYPE = 4
AND T.PROJECTID = 198268298
UNION
SELECT 'i_5_1_2' JDNAME, TO_CHAR(T.ID) || '38CGFJ' BUSINESSID
FROM BO_PROJECT T
WHERE T.ID = 198268298
UNION
SELECT 'i_6_1_2' JDNAME, TO_CHAR(T.ID) || '38WZFJ' BUSINESSID
FROM BO_PROJECT T
WHERE T.ID = 198268298
UNION
SELECT 'i_7_1_1' JDNAME, TO_CHAR(T.BO_QUALITY_REPORT_ID) BUSINESSID
FROM BO_QUALITY_REPORT T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_7_1_2' JDNAME, TO_CHAR(T.BO_QUALITY_NOTICE_ID) BUSINESSID
FROM BO_QUALITY_NOTICE T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_7_1_4' JDNAME, TO_CHAR(T.BO_QUALITY_NOTICE_ID) BUSINESSID
FROM BO_QUALITY_NOTICE T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_7_1_4' JDNAME, TO_CHAR(T.BO_QUALITY_REPORT_ID) BUSINESSID
FROM BO_QUALITY_REPORT T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_7_2_1' JDNAME, TO_CHAR(T.BO_CONSTRUCTION_S_INFO_ID) BUSINESSID
FROM BO_CONSTRUCTION_S_INFO T, BO_CONSTRUCTION_START T2
WHERE T.BO_CONSTRUCTION_START_ID = T2.BO_CONSTRUCTION_START_ID
AND T2.AUDITSTATE != '1'
AND T2.PROJECTID = 198268298
UNION
SELECT 'i_7_3_1' JDNAME,
TO_CHAR(WMSYS.WM_CONCAT(T.GATHERREQUIREMENTID)) BUSINESSID
FROM BO_GATHERREQUIREMENT T, BO_PROJECT P
WHERE T.PROJECTID = P.ID
AND T.PROJECTID = 198268298
AND T.STYLE = 'CONSTRUCTION'
UNION
SELECT 'i_7_4_1' JDNAME, TO_CHAR(T.BO_RESOURCE_REQUEST_ID) BUSINESSID
FROM BO_RESOURCE_REQUEST T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_7_5_2' JDNAME, TO_CHAR(P.BO_PROJECT_PAUSE_APPLY_ID) BUSINESSID
FROM BO_PRO_PROJECT_PAUSE_APPLY PR,
BO_PROJECT_PAUSE_APPLY P,
V_USER_ORG V
WHERE PR.BO_PROJECT_PAUSE_APPLY_ID = P.BO_PROJECT_PAUSE_APPLY_ID
AND P.CREATE_USERID = V.USERID
AND PR.PROJECTID = 198268298
UNION
SELECT 'i_7_6_2' JDNAME, TO_CHAR(P.BO_PROJECT_RESUME_APPLY_ID) BUSINESSID
FROM BO_PRO_PROJECT_RESUME_APPLY PR,
BO_PROJECT_RESUME_APPLY P,
V_USER_ORG V
WHERE PR.BO_PROJECT_RESUME_APPLY_ID = P.BO_PROJECT_RESUME_APPLY_ID
AND P.CREATE_USERID = V.USERID
AND PR.PROJECTID = 198268298
UNION
SELECT 'i_7_7_1' JDNAME, TO_CHAR(T.BO_CONSTRUCTION_TEST_ID) BUSINESSID
FROM BO_CONSTRUCTION_TEST T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_7_8_1' JDNAME, TO_CHAR(T.BO_CONSTRUCTION_ONLINE_ID) BUSINESSID
FROM BO_CONSTRUCTION_ONLINE T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_7_9_1' JDNAME, TO_CHAR(T.BO_CONSTRUCTION_C_INFO_ID) BUSINESSID
FROM BO_CONSTRUCTION_C_INFO T, BO_CONSTRUCTION_COMPLETION T2
WHERE T.BO_CONSTRUCTION_COMPLETION_ID = T2.BO_CONSTRUCTION_COMPLETION_ID
AND T2.AUDITSTATE != '1'
AND T2.PROJECTID = 198268298
UNION
SELECT 'i_8_1_1' JDNAME, TO_CHAR(T.BO_TEC_INSPECTION_ID) BUSINESSID
FROM BO_TEC_INSPECTION T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_8_3_2' JDNAME, TO_CHAR(T.ID) BUSINESSID
FROM BO_PROJECT T
WHERE T.ID = 198268298
UNION
SELECT 'i_8_3_2' JDNAME, TO_CHAR(T.ID) || 'JGJS' BUSINESSID
FROM BO_PROJECT T
WHERE T.ID = 198268298
UNION
SELECT 'i_8_4_3' JDNAME, TO_CHAR(T.BINDID) BUSINESSID
FROM BO_PROJECTEXAMINE T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_8_4_3' JDNAME, TO_CHAR(T.BINDID) || '1' BUSINESSID
FROM BO_PROJECTEXAMINE T, BO_PROJECT BP
WHERE PROJECTID = 198268298
AND PROJECTID = BP.ID
UNION
SELECT 'i_8_5_1' JDNAME, TO_CHAR(B.ID) BUSINESSID
FROM BO_PROJECTARCHIVE B, V_USER V
WHERE B.PROJECTID = 198268298
AND B.CREATEUSER = V.LOGINNAME
UNION
SELECT 'i_8_6_1' JDNAME, TO_CHAR(BO_CONSTRUCTION_RUNNING_ID) BUSINESSID
FROM BO_CONSTRUCTION_RUNNING T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_8_7_2' JDNAME, TO_CHAR(T.ID) || 'JGJS' BUSINESSID
FROM BO_PROJECT T
WHERE T.ID = 198268298
UNION
SELECT 'i_8_8_3' JDNAME, TO_CHAR(T.BINDID) || '2' BUSINESSID
FROM BO_PROJECTEXAMINE T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_8_8_3' JDNAME, TO_CHAR(T.BINDID) || '2' BUSINESSID
FROM BO_PROJECTEXAMINE T, BO_PROJECT BP
WHERE PROJECTID = 198268298
AND PROJECTID = BP.ID
UNION
SELECT 'i_8_9_1' JDNAME,
TO_CHAR(BO_COMPLETION_RECORD_ID) || '1' BUSINESSID
FROM BO_COMPLETION_RECORD T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_8_9_2' JDNAME, TO_CHAR(BO_COMPLETION_NOTICE_ID) BUSINESSID
FROM BO_COMPLETION_NOTICE T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_8_9_3' JDNAME, TO_CHAR(BO_COMPLETION_RECORD_ID) BUSINESSID
FROM BO_COMPLETION_RECORD T
WHERE T.PROJECTID = 198268298
UNION
SELECT 'i_9_1_2' JDNAME, TO_CHAR(T.BO_PROJECTAFTEREVALUTE_ID) BUSINESSID
FROM BO_PROJECTAFTEREVALUTE T
WHERE T.PROJECTID = 198268298),
JDNE AS
(SELECT *
FROM BO_ITFILE_PHASE
MINUS
SELECT *
FROM BO_ITFILE_PHASE B
WHERE B.BO_ITFILE_PHASE_ID LIKE 'i_4_4%'
OR B.BO_ITFILE_PHASE_ID LIKE 'i_4_5_3'
OR B.BO_ITFILE_PHASE_ID LIKE 'i_4_5_4'
OR B.BO_ITFILE_PHASE_ID LIKE 'i_4_6_3'
OR B.BO_ITFILE_PHASE_ID LIKE 'i_4_6_4'),
JDNEOA AS
(SELECT *
FROM BO_ITFILE_PHASE
MINUS
SELECT *
FROM BO_ITFILE_PHASE B
WHERE B.BO_ITFILE_PHASE_ID LIKE 'i_4_4%'
OR B.BO_ITFILE_PHASE_ID LIKE 'i_4_5_3'
OR B.BO_ITFILE_PHASE_ID LIKE 'i_4_5_4'
OR B.BO_ITFILE_PHASE_ID LIKE 'i_4_6_3'
OR B.BO_ITFILE_PHASE_ID LIKE 'i_4_6_4'
OR B.BO_ITFILE_PHASE_ID LIKE 'i_1_2_2'
OR B.BO_ITFILE_PHASE_ID LIKE 'i_1_2_3'
OR B.BO_ITFILE_PHASE_ID LIKE 'i_2_3_1'
OR B.BO_ITFILE_PHASE_ID LIKE 'i_2_3_3'),
REFD AS
(SELECT N.JDNAME, N.BUSINESSID, F.*
FROM FILEDOC F, JDN N
WHERE F.BUSINESSOBJ_ID1 = N.BUSINESSID)
SELECT R.*
FROM (SELECT *
FROM (SELECT D.BO_ITFILE_PHASE_ID BO_ID,
D.JIEDUAN,
D.JDNAME,
D.SEQ,
D.BITIAN,
F.FILENAME FILETITLE,
'' OADOCUMENTCODE,
'' OACODE,
F.BUSINESSOBJ_TYPE FILETYPE,
F.CREATIONDATE APPLYDATE,
'' OASTATE,
'' OAPUBLISHDATE,
F.FULLNAME CREATE_USER,
'手工上传' DOCFROM,
'1' TYPE_,
F.BO_DOC_BODY_ID,
F.BUSINESSOBJ_ID,
F.BO_DOCUMENT_ID,
F.CREATORID,
F.EXTEND_1,
'' ID_
FROM JDNE D, REFD F
WHERE D.BO_ITFILE_PHASE_ID = F.JDNAME(+)
AND D.BELONG = '1'
UNION
SELECT D.BO_ITFILE_PHASE_ID BO_ID,
D.JIEDUAN,
D.JDNAME,
D.SEQ,
D.BITIAN,
F.FILENAME FILETITLE,
'' OADOCUMENTCODE,
'' OACODE,
F.BUSINESSOBJ_TYPE FILETYPE,
F.CREATIONDATE APPLYDATE,
'' OASTATE,
'' OAPUBLISHDATE,
F.FULLNAME CREATE_USER,
'手工上传' DOCFROM,
'1' TYPE_,
F.BO_DOC_BODY_ID,
F.BUSINESSOBJ_ID,
F.BO_DOCUMENT_ID,
F.CREATORID,
F.EXTEND_1,
'' ID_
FROM JDNE D, REFD F
WHERE D.BO_ITFILE_PHASE_ID = F.JDNAME(+)
AND D.BELONG = '1'
AND F.BUSINESSOBJ_TYPE IN D.BUSINESSOBJ_TYPE
UNION
SELECT D.BO_ITFILE_PHASE_ID BO_ID,
D.JIEDUAN,
D.JDNAME,
D.SEQ,
D.BITIAN,
E.OATITLE,
E.OADOCUMENTCODE,
E.OACODE,
E.OA_FILETYPE,
E.APPLYDATE,
E.OASTATE,
E.OAPUBLISHDATE,
'' CREATE_USER,
E.DOCFROM,
'2' TYPE_,
'' BO_DOC_BODY_ID,
'' BUSINESSOBJ_ID,
'' BO_DOCUMENT_ID,
'' CREATORID,
'' EXTEND_1,
TO_CHAR(E.ID_) ID_
FROM JDNEOA D,
(SELECT D.BO_ITFILE_PHASE_ID BO_ID,
D.JIEDUAN,
D.JDNAME,
D.SEQ,
D.BITIAN,
OA.OATITLE,
OA.OADOCUMENTCODE,
OA.OACODE,
OA.OA_FILETYPE,
OA.APPLYDATE,
OA.OASTATE,
OA.OAPUBLISHDATE,
'' CREATE_USER,
DECODE(OA.UPLOADTYPE, '1', 'OA系统', '手工上传') DOCFROM,
'2' TYPE_,
'' BO_DOC_BODY_ID,
'' BUSINESSOBJ_ID,
'' BO_DOCUMENT_ID,
'' CREATORID,
'' EXTEND_1,
TO_CHAR(OA.ID) ID_
FROM JDNEOA D, OADOC OA
WHERE D.PMBIZTYPE = OA.PMBIZTYPE(+)
AND D.BELONG = '2'
AND D.OATYPE LIKE '%,' || OA.OA_FILETYPE || '%') E
WHERE D.BO_ITFILE_PHASE_ID = E.BO_ID(+)
AND D.BELONG = '2'
UNION
SELECT D.BO_ITFILE_PHASE_ID BO_ID,
D.JIEDUAN,
D.JDNAME,
D.SEQ,
D.BITIAN,
E.OATITLE,
E.OADOCUMENTCODE,
E.OACODE,
E.OA_FILETYPE,
E.APPLYDATE,
E.OASTATE,
E.OAPUBLISHDATE,
'' CREATE_USER,
E.DOCFROM,
'2' TYPE_,
'' BO_DOC_BODY_ID,
'' BUSINESSOBJ_ID,
'' BO_DOCUMENT_ID,
'' CREATORID,
'' EXTEND_1,
TO_CHAR(E.ID_) ID_
FROM JDNE D,
(SELECT D.BO_ITFILE_PHASE_ID BO_ID,
D.JIEDUAN,
D.JDNAME,
D.SEQ,
D.BITIAN,
OA.OATITLE,
OA.OADOCUMENTCODE,
OA.OACODE,
OA.OA_FILETYPE,
OA.APPLYDATE,
OA.OASTATE,
OA.OAPUBLISHDATE,
'' CREATE_USER,
DECODE(OA.UPLOADTYPE, '1', 'OA系统', '手工上传') DOCFROM,
'2' TYPE_,
'' BO_DOC_BODY_ID,
'' BUSINESSOBJ_ID,
'' BO_DOCUMENT_ID,
'' CREATORID,
'' EXTEND_1,
TO_CHAR(OA.ID) ID_
FROM (SELECT *
FROM JDNE B
WHERE B.BO_ITFILE_PHASE_ID = 'i_1_2_2') D,
OADOC OA
WHERE D.PMBIZTYPE = OA.PMBIZTYPE(+)
AND OA.OA_FILETYPE = '公司发文'
AND OA.PMBIZCODE =
(SELECT T.GATHERREQUIREMENTID
FROM BO_GATHERREQUIREMENT T
WHERE T.PROJECTID = 198268298
AND T.STYLE = 'WORKLOAD_EVALATE')) E
WHERE D.BO_ITFILE_PHASE_ID = E.BO_ID(+)
AND D.BELONG = '2'
AND D.BO_ITFILE_PHASE_ID = 'i_1_2_2'
UNION
SELECT D.BO_ITFILE_PHASE_ID BO_ID,
D.JIEDUAN,
D.JDNAME,
D.SEQ,
D.BITIAN,
E.OATITLE,
E.OADOCUMENTCODE,
E.OACODE,
E.OA_FILETYPE,
E.APPLYDATE,
E.OASTATE,
E.OAPUBLISHDATE,
'' CREATE_USER,
E.DOCFROM,
'2' TYPE_,
'' BO_DOC_BODY_ID,
'' BUSINESSOBJ_ID,
'' BO_DOCUMENT_ID,
'' CREATORID,
'' EXTEND_1,
TO_CHAR(E.ID_) ID_
FROM JDNE D,
(SELECT D.BO_ITFILE_PHASE_ID BO_ID,
D.JIEDUAN,
D.JDNAME,
D.SEQ,
D.BITIAN,
OA.OATITLE,
OA.OADOCUMENTCODE,
OA.OACODE,
OA.OA_FILETYPE,
OA.APPLYDATE,
OA.OASTATE,
OA.OAPUBLISHDATE,
'' CREATE_USER,
DECODE(OA.UPLOADTYPE, '1', 'OA系统', '手工上传') DOCFROM,
'2' TYPE_,
'' BO_DOC_BODY_ID,
'' BUSINESSOBJ_ID,
'' BO_DOCUMENT_ID,
'' CREATORID,
'' EXTEND_1,
TO_CHAR(OA.ID) ID_
FROM (SELECT *
FROM JDNE B
WHERE B.BO_ITFILE_PHASE_ID = 'i_1_2_4') D,
OADOC OA
WHERE D.PMBIZTYPE = OA.PMBIZTYPE(+)
AND OA.PMBIZCODE =
(SELECT T.GATHERREQUIREMENTID
FROM BO_GATHERREQUIREMENT T
WHERE T.PROJECTID = 198268298
AND T.STYLE = 'WORKLOAD')
AND OA.OA_FILETYPE = '公司发文') E
WHERE D.BO_ITFILE_PHASE_ID = E.BO_ID(+)
AND D.BELONG = '2'
AND D.BO_ITFILE_PHASE_ID = 'i_1_2_4'
UNION
SELECT D.BO_ITFILE_PHASE_ID BO_ID,
D.JIEDUAN,
D.JDNAME,
D.SEQ,
D.BITIAN,
E.OATITLE,
E.OADOCUMENTCODE,
E.OACODE,
E.OA_FILETYPE,
E.APPLYDATE,
E.OASTATE,
E.OAPUBLISHDATE,
'' CREATE_USER,
E.DOCFROM,
'2' TYPE_,
'' BO_DOC_BODY_ID,
'' BUSINESSOBJ_ID,
'' BO_DOCUMENT_ID,
'' CREATORID,
'' EXTEND_1,
TO_CHAR(E.ID_) ID_
FROM JDNE D,
(SELECT D.BO_ITFILE_PHASE_ID BO_ID,
D.JIEDUAN,
D.JDNAME,
D.SEQ,
D.BITIAN,
OA.OATITLE,
OA.OADOCUMENTCODE,
OA.OACODE,
OA.OA_FILETYPE,
OA.APPLYDATE,
OA.OASTATE,
OA.OAPUBLISHDATE,
'' CREATE_USER,
DECODE(OA.UPLOADTYPE, '1', 'OA系统', '手工上传') DOCFROM,
'2' TYPE_,
'' BO_DOC_BODY_ID,
'' BUSINESSOBJ_ID,
'' BO_DOCUMENT_ID,
'' CREATORID,
'' EXTEND_1,
TO_CHAR(OA.ID) ID_
FROM (SELECT *
FROM JDNE B
WHERE B.BO_ITFILE_PHASE_ID = 'i_2_3_1') D,
OADOC OA
WHERE D.PMBIZTYPE = OA.PMBIZTYPE(+)
AND OA.PMBIZCODE = '198268298'
AND OA.OA_FILETYPE = '会议纪要') E
WHERE D.BO_ITFILE_PHASE_ID = E.BO_ID(+)
AND D.BELONG = '2'
AND D.BO_ITFILE_PHASE_ID = 'i_2_3_1'
UNION
SELECT D.BO_ITFILE_PHASE_ID BO_ID,
D.JIEDUAN,
D.JDNAME,
D.SEQ,
D.BITIAN,
E.OATITLE,
E.OADOCUMENTCODE,
E.OACODE,
E.OA_FILETYPE,
E.APPLYDATE,
E.OASTATE,
E.OAPUBLISHDATE,
'' CREATE_USER,
E.DOCFROM,
'2' TYPE_,
'' BO_DOC_BODY_ID,
'' BUSINESSOBJ_ID,
'' BO_DOCUMENT_ID,
'' CREATORID,
'' EXTEND_1,
TO_CHAR(E.ID_) ID_
FROM JDNE D,
(SELECT D.BO_ITFILE_PHASE_ID BO_ID,
D.JIEDUAN,
D.JDNAME,
D.SEQ,
D.BITIAN,
OA.OATITLE,
OA.OADOCUMENTCODE,
OA.OACODE,
OA.OA_FILETYPE,
OA.APPLYDATE,
OA.OASTATE,
OA.OAPUBLISHDATE,
'' CREATE_USER,
DECODE(OA.UPLOADTYPE, '1', 'OA系统', '手工上传') DOCFROM,
'2' TYPE_,
'' BO_DOC_BODY_ID,
'' BUSINESSOBJ_ID,
'' BO_DOCUMENT_ID,
'' CREATORID,
'' EXTEND_1,
TO_CHAR(OA.ID) ID_
FROM (SELECT *
FROM JDNE B
WHERE B.BO_ITFILE_PHASE_ID = 'i_2_3_3') D,
OADOC OA
WHERE D.PMBIZTYPE = OA.PMBIZTYPE(+)
AND OA.PMBIZCODE IN
(SELECT T.BO_FEASI_C_APPLY_ID
FROM BO_FEASI_C_APPLY T
WHERE T.PROJECTID = 198268298)
AND OA.OA_FILETYPE = '公司发文') E
WHERE D.BO_ITFILE_PHASE_ID = E.BO_ID(+)
AND D.BELONG = '2'
AND D.BO_ITFILE_PHASE_ID = 'i_2_3_3') A
ORDER BY A.SEQ, A.TYPE_ DESC) R
WHERE 1 = 1
这上面的SQL是打印出来的SQL,上面还有很多嵌套判断。这里面不是一点点的恶心,可以看看里面有多少个临时表拼接来的结果。查询的速度那是慢的不行,所以这里面也没有考虑什么多少个子查询。