我問this question in regard to SQL Server,但什麼是對Oracle環境中(10克)的答案嗎?我可以使用Oracle SQL從計劃信息中繪製實際日期嗎?
如果我有一個表,包含調度信息暗示特定的日期,是否有可以寫入的信息轉化爲實際行,使用類似MSSQL的表常見合表情,也許是一個SQL語句?
考慮這些列的付款計劃表:
- 起始日期 - 計劃開始日期(第1款項應在此日期)
- 期限 - 長度中的月日程表
- 頻率 - 重複之間的月份數
- PaymentAmt - 付款金額:-)
SchedID StartDate Term Frequency PaymentAmt ------------------------------------------------- 1 05-Jan-2003 48 12 1000.00 2 20-Dec-2008 42 6 25.00
是否有一個SQL語句,讓我從上面到下面?
Running SchedID Payment Due Expected Num Date Total -------------------------------------- 1 1 05-Jan-2003 1000.00 1 2 05-Jan-2004 2000.00 1 3 05-Jan-2005 3000.00 1 4 05-Jan-2006 4000.00 2 1 20-Dec-2008 25.00 2 2 20-Jun-2009 50.00 2 3 20-Dec-2009 75.00 2 4 20-Jun-2010 100.00 2 5 20-Dec-2010 125.00 2 6 20-Jun-2011 150.00 2 7 20-Dec-2011 175.00
您的想法得到了讚賞。
我在嘗試你的建議,但我沒有太多的運氣。第二個查詢導致無限循環。我如何避免這種情況? – witttness 2009-08-04 19:05:11
我不確定CONNECT BY PRIOR是否支持指向同一列 - 沒有Oracle進行測試。我也錯過了「哪裏q.PaymentNum <= s.Term/s.Frequency」 – 2009-08-04 19:25:39
我更新了在開始日期之前的連接,因爲這實際上是指示順序,但我不知道是否可以指向相同柱。 – 2009-08-04 19:49:56