我有一個計算實現結果所需時間的程序。因此,例如,案件具有代碼'CB'的情況下,過程應該查看錶EVENTS以找到下一次應用一組結果代碼中的一個並使用DATE_CREATED值爲CB_DATE設置值。此案可能擁有多個代碼,但我只在CB代碼後的第一次使用興趣:例表如下:如何選擇下一個最高ID?
ID CASE_ID DATE_CREATED DATE_MODIFIED OUTCOME_CODE CB_DATE
1 01 01/04/1970 01/04/1970 CASE_START
2 01 01/04/1970 02/04/1970 CB
3 01 01/04/1970 03/04/1970 PPLF
4 02 01/04/1970 02/04/1970 TEST
4 01 01/04/1970 04/04/1970 SACM
5 01 01/04/1970 05/04/1970 TEST 05/04/1970
6 01 01/04/1970 06/04/1970 OUTC
所以我想返回DATE_MODIFIED爲「CB」後的下一個條目,其中的代碼('OUTC','TEST'),它在上面的例子中是'TEST'的第二個實例,因爲第一個實例適用於不同的CASE_ID。
目前它正在將程序應用到結果代碼集合的每個實例,如上面的示例中,TEST和OUTC的兩個實例都獲得CB_DATE值,但我只希望TEST具有CASE_ID與CASE_ID匹配的值'CB'結果。
當前的代碼是: 更新事件Ë 集CB_DATE = DATE_MODIFIED 其中OUTCOME_CODE在( '測試', 'OUTC' ....)
我原以爲我可以用
update EVENTS e
set CB_DATE=DATE_MODIFIED
WHERE OUTCOME_CODE in ('TEST','OUTC'....)
AND ID > (
select ID
from EVENTS x
where x.OUTCOME_CODE = 'CB'
and x.CASE_ID=e.CASE_ID);
...和id>(從事件x中選擇max(id)..) – Mottor
它並不總是最大值(id)但是,可以使用多個代碼我想要下一個最高的ID,例如ID 7在上表中可能也有CASE_ID 01的TEST結果代碼。我需要確保它選擇代碼的第一個實例。 – HardLeeWorking
...和id>(從事件x中選擇max(id),其中x.id
Mottor