【发布时间】:2015-02-11 08:54:57
【问题描述】:
所以我有 2 个查询,其中一个是使用第一个查询中的值的子查询。我需要把它变成 1 个查询,以便我可以把它们作为一个视图。所以第一个查询是,
SELECT LEVEL WEEK_NUM_INCR,
TO_CHAR (start_date + (LEVEL - 1) * 7, 'DD-MON-YYYY') START_WEEK_DATE,
TO_CHAR (start_date + (LEVEL) * 7, 'DD-MON-YYYY') END_WEEK_DATE
FROM (SELECT PS.PROJECT_START_DT start_date,
PS.JOB_NAME JOB_NAME,
PS.PROJECT_END_DT end_date
FROM PROJECT_SPAN PS
WHERE PS.JOB_NAME = :JOBNAME) RS
CONNECT BY start_date + (LEVEL - 1) * 7 < end_date;
第二个查询是,
SELECT SUM (DO.ONSITE_UPD_QTY) ONSITESUM,
SUM (DO.ONSITE_UPD_QTY * MD.WEIGHT) TOTALONSITEWEIGHT,
FROM PROJECT P
LEFT OUTER JOIN DTL_ERC_UPD@WELTES_SITEMON_LINK DO
ON DO.PROJECT_NAME = P.PROJECT_NAME
LEFT OUTER JOIN MASTER_DRAWING MD ON MD.HEAD_MARK = DO.HEAD_MARK
WHERE DO.UPD_DATE BETWEEN TO_DATE (:STARTDATE, 'DD-MON-YYYY')
AND TO_DATE (:ENDDATE, 'DD-MON-YYYY')
AND P.PROJECT_NO = :PROJNO
GROUP BY P.PROJECT_NO;
第二个查询使用第一个查询 START_WEEK_DATE 和 END_WEEK_DATE 中的值 :STARTDATE 和 :ENDDATE 作为第一个查询中特定日期范围的范围值。
所以php中的整个方法可以在http://pastie.org/9938791中看到 但不可能将它们放在一起并在 JSON 中分配值。请帮我结合这两个查询.. 我真的很感激
【问题讨论】:
-
您不能只查看第一个查询吗?还是使用 WITH 构造?
-
我尝试了视图,但问题出在 JOBNAME...
-
周范围一直在递归循环中运行