目标:的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