我的Oracle SQL查詢這樣IF條件SQL查詢的WHERE子句中
SELECT *
FROM test
WHERE 1 =1
AND req_no IN
(SELECT req_no
FROM test
WHERE date1 IS NOT NULL
AND date1 BETWEEN '1-JUN-12' AND '30-JUN-12'
)
的問題是WHERE
條件不能正常工作。在上述情況下,如果'date1' 不是NULL,那麼我想檢查'FROM'和'TO'日期之間的'date1'。 * 編輯 * 我已經加入樣品表數據
Test table
From date: 1-JUN-2012
To date: 30-JUN-2012
record date1 date2 date3
1 12-JUN-2012 13-JUN-2012 12-JUN-2012
2 null null 12-JUN-2012
3 null 3-JUN-2012 null
4 12-JUN-2012 null null
5 12-JUN-2012 13-JUL-2012 12-JUN-2012
6 null null null
在上面的記錄將返回記錄數= 1,2,3,4不第六紀錄。
這段代碼是不是最好的做法的一個例子但它應該解決你給的業務規則。所以你需要定義「不能正常工作」。最簡單的方法是給我們一些測試數據和你期望的輸出。 – APC
感謝您的建議。我添加了示例數據和輸出 – Raje
@APC:我有示例表數據和輸出 – Raje