-3
以下是我們必須提出Oracle查詢的情景。請讓我們知道您是否可以在這裏幫助我們使用SQL查詢。在Oracle SQL查詢中需要幫助
我們必須根據單個表中的3個字段獲取數據。
Table name: CS_01 Field names: ID_74 EFF_DATE ID_TYPE
條件如下:
- 記錄應當基於最大(EFF_DATE)來選擇。
如果兩條記錄具有相同的ID_74,相同的EFF_DATE但不同的ID_TYPE,則應根據以下排名選擇ID_TYPE。
WHEN 'DLIC' THEN 1 WHEN 'CAND' THEN 1 WHEN 'STID' THEN 1 WHEN 'PASP' THEN 2 WHEN 'UPAS' THEN 2 WHEN 'MLID' THEN 3 WHEN 'GUAT' THEN 4 WHEN 'MXCN' THEN 4 WHEN 'RAID' THEN 4 WHEN 'VISA' THEN 4 WHEN 'FORN' THEN 5 ELSE 6
例如:如果我們有下面2以下紀錄然後第一個記錄應選擇
ID_74 EFF_DATE ID_TYPE ID_OCCUR Amount 10 2-Oct-15 DLIC 1 100 10 2-Oct-15 VISA 1 120
- 如果所有3個字段(ID_74,EFF_DATE, ID_TYPE)是相同的,那麼應該選擇頂部出現的記錄。
樣本數據:
ID_74 EFF_DATE ID_TYPE ID_OCCUR Amount 11 3-Oct-15 PASP 1 25 11 2-Sep-15 DLIC 1 35 10 2-Oct-15 VISA 1 120 10 2-Oct-15 DLIC 1 100 9 8-Sep-15 FORN 1 23 9 8-Sep-15 FORN 1 50
Scenario1:對於ID 11第一記錄應該被選中。
情景2:對於ID 10,應選擇第二條記錄。
場景3:對於ID 9應該選擇第一個記錄。
你可以請SQL幫助查詢。我們嘗試了dense_rank(),但排名沒有按照我們的要求進行分配。
也許SO應該是編碼服務;) – lad2025
請發佈您嘗試過的SQL查詢 –