作爲一個後臺開發寫數據報表是很平常的事情,但要寫一個統計整個系統的東西還把兩個東西合到一起你就應該有多噁心(關鍵是有些數據還不是按照規律)。還要在上面的情形下,不斷的加數據改東西。說了這麼多可能還是因爲我自己太菜吧,不說了上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,上面還有很多嵌套判斷。這裏面不是一點點的噁心,可以看看裏面有多少個臨時表拼接來的結果。查詢的速度那是慢的不行,所以這裏面也沒有考慮什麼多少個子查詢。