0
我使用的Oracle 11g SQL開發..的Oracle SQL遊標FOR循環到START_DATE和END_DATE之間檢查,並指定一個跳閘值
我需要能夠循環通過一組日期, 檢查以查看是否高於或低於END_DATE是=或<或>比下一個END_DATE 並且其中START_DATE是不同..
然後分配一個行程數是作爲一個其=或 分配一個相同的新的旅行號碼,然後開始新的旅程,並再次檢查 下一個SET日期,看看它的=或<或>比c urrent日期..
我認爲,爲了做到這一點,我需要使用PL/SQL遊標循環.. 我試圖弄明白,但它不是我做出多大意義..
例如,我想最終的結果是這樣的..
ROWID START_DATE END_DATE TRIP
1 30-DEC-11 1-Jan-12 1
2 31-DEC-11 2-Jan-12 2
3 31-DEC-11 2-Jan-12 2
4 01-JAN-12 3-Jan-12 3
5 03-JAN-12 4-Jan-12 4
6 01-JAN-12 1-Jan-12 5
7 02-JAN-12 4-Jan-12 6
在此先感謝您的幫助。 Alex
感謝您與幫助代碼..它看起來像它的作品,但看着結果我有兩個其他列與它有衝突..這是我的sql
SELECT CRUISE, PERMIT, START_DATE, END_DATE, TRIP AS FROM (SELECT START_DATE, END_DATE, ROW_NUMBER() OVER (PARTITION BY ROWID ORDER BY END_DATE) AS TRIP FROM (SELECT START_DATE, END_DATE, MIN(ROWID) AS ROWID FROM T group by START_DATE, END_DATE ) a ) B JOIN TABLE8 T ON B.START_DATE = T.START_DATE AND B.END_DATE = T.END_DATE;
– SeattleGray@SeattleGray。 。 。我想你只需要在列名之前使用別名:b.Cruise,b.Permit。 。 。 –