Мне нужно получить записи на основе идентификатора местоположения, но у меня есть два поля, которые МОГУТ содержать входящие критерии ....
что-то вроде этого
SELECT * FROM tbl
WHERE myVar = locationID
IF LocationID = 0
myVar = location2ID
это «логичный» пример ...
Я думаю, что могу сделать
WHERE myVar = CASE WHEN locationID = 0 THEN location2ID ELSE locationID END
, хотя я читал, что CASE в предложении WHERE следует избегать ...?Зачем?или это нормально?- в любом случае, он НЕ УДАЕТСЯ
WHERE CASE WHEN locationID=0 THEN location2ID=myVAr ELSE locationID=myVar END
также НЕ УДАЛЯЕТ
thx
Извините за путаницу - не хотел быть "двусмысленным" - похоже, что № 2 будетделай то, что я хочу - но для разъяснения, запрошенного здесь, есть проблема ...
таблица хранит ДВУХ местоположений, затем назовем CURRENT_LOC и ORIGINAL_LOC ... в большинстве случаев они ОБА будут иметь данные, но в некоторыхВ некоторых случаях «вещь» не перемещается ... поэтому CURRENT_LOC равен «0».Моя проблема заключается в том, что я передам в LOCATION ID, я хочу записи, где CURRENT_LOC соответствует ИЛИ, если CURRENT_LOC = 0, тогда я также хочу ORIGINAL_LOC ..., где это соответствует ...
делает этопомочь в обсуждении?Я надеюсь.