目標:的Oracle SQL子查詢如何使用結果的查詢限制查詢乙
- 結合我目前運行兩個查詢。
- 有從查詢1的一星期內的過濾標準的查詢2.
查詢1:
----------------------------------------------------
-- ************************************************
-- Accounts Recieveable (WEEKLY) snapshot
-- ************************************************
----------------------------------------------------
SELECT
TRUNC(TX.ORIG_POST_DATE,'WW') AS WEEK,
SUM(TX.AMOUNT) AS OUTSTANDING
FROM
TX
WHERE
--Transaction types
(TX.DETAIL_TYPE = "Charges" OR
TX.DETAIL_TYPE = "Payments" OR
TX.DETAIL_TYPE = "Adjustments")
GROUP BY
TRUNC(tx.ORIG_POST_DATE,'WW')
ORDER BY
TRUNC(tx.ORIG_POST_DATE,'WW')
輸出查詢1:
WEEK OUTSTANDING
1/1/2012 18203.95
1/8/2012 17605
1/15/2012 19402.33
1/22/2012 18693.45
1/29/2012 19100
查詢2:
----------------------------------------------------
-- ************************************************
-- Weekly Charge AVG over previous 13 weeks based on WEEK above
-- ************************************************
----------------------------------------------------
SELECT
sum(tx.AMOUNT)/91
FROM
TX
WHERE
--Post date
TX.ORIG_POST_DATE <= WEEK AND
TX.ORIG_POST_DATE >= WEEK-91 AND
--Charges
(TX.DETAIL_TYPE = "Charge")
輸出查詢2:
thirteen_Week_Avg
1890.15626
所需的輸出
WEEK OUTSTANDING Thirteen_Week_Avg
1/1/2012 18203.95 1890.15626
1/8/2012 17605 1900.15626
1/15/2012 19402.33 1888.65132
1/22/2012 18693.45 1905.654
1/29/2012 19100 1900.564
注意Thirteen_Week_Avg先於 「WEEK」 字段13周。因此,隨着平均水平的提高,每週都會發生變化。
另外你們知道我可以閱讀哪些教程來更好地理解這種類型的問題?
退房WITH子句:http://www.dba-oracle.com/t_with_clause.htm – kurosch 2012-02-03 22:03:22
如果你有類似地雷問題上面我強烈建議你檢查出的Oracle分析功能本概述,可以是youtube在sheepsqueezers頻道,http://www.youtube.com/user/sheepsqueezersYT/search?query=analytic,或http://www.sheepsqueezers.com/上找到。 – Cimplicity 2012-02-09 14:38:30