2
我需要根據位置ID給拉了回來記錄條件邏輯,但我有兩個領域可能包含傳入標準....SQL DB2 - 在WHERE子句
像這樣
SELECT * FROM tbl
WHERE myVar = locationID
IF LocationID = 0
myVar = location2ID
這是一個 '邏輯' 例如......
我想我能做到
WHERE myVar = CASE WHEN locationID = 0 THEN location2ID ELSE locationID END
儘管我應該避免在WHERE子句中讀CASE ...?爲什麼?或者這是行嗎? - 無論哪種方式,它不能
WHERE CASE WHEN locationID=0 THEN location2ID=myVAr ELSE locationID=myVar END
也沒有
THX
對不起,小夥子們的困惑 - 並不意味着是「曖昧」 - 看起來像#2會做我想做的 - 但要澄清這裏要求的問題是...
該表存儲兩個位置,讓我們調用然後CURRENT_LOC和ORIGINAL_LOC ...在大多數情況下,這些都將有數據,但在某些情況下,'東西'hasn' t移動了...所以CURRENT_LOC是'0'。我的問題是我會傳遞一個LOCATION ID,我想要CURRENT_LOC匹配的記錄,或者如果CURRENT_LOC = 0,那麼我也想要ORIGINAL_LOC ...匹配...
是否幫助討論?我希望。
你已經給出兩個答案,這對問題略有不同的面貌。請消除您的問題(指出'locationID'不是0時'location2ID'發生了什麼),並接受相關答案。 –