我的表結構如下:IF在聲明WHERE子句 - SQL - 甲骨文
ID STATUS_1 STATUS_2 VERSION
1 Success Disabled 5
2 Disabled In_Progress 3
3 Disabled Disabled 4
我需要回到這裏無論是
- STATUS_1或STATUS_2要麼
Success
或In_Progress
所有行
- 如果沒有行具有帶有
Success
或In_Progress
狀態的STATUS_1或STATUS_2,則應返回具有最低VERSION值的行。
在當前的表,返回的行會:
1 Success Disabled 5
2 Disabled In_Progress 3
所以,如果我的表是這樣的:
ID STATUS_1 STATUS_2 VERSION
1 -- Disabled 5
2 Disabled -- 3
3 Disabled Disabled 4
返回唯一的行應該是
2 Disabled -- 3
,因爲它有最低版本(3)。
這可以通過WHERE
條款中的IF
語句完成嗎?
我與你的預期輸出的一部分不同意。前兩行應該與您的第一個示例數據一起返回,因爲這兩行都有「Success」或「In_progress」。 –