-
База FB 2. В таблице есть поле INTEGER, которое может содержать значение, а может быть и NULL.
Если мне нужно выбрать записи по значению, я пишу такой запрос: SELECT ID1, FLD1 FROM TABLE1 WHERE FLD1 = ?FLD
Если мне нужно выбрать записи у которых NULL, я пишу такой запрос: SELECT ID1, FLD1 FROM TABLE1 WHERE FLD1 IS NULL
Если мне нужно выбрать все записи, я пишу такой запрос: SELECT ID1, FLD1 FROM TABLE1
А возможно ли их как-то объединить, что бы в зависимости от параметра или от двух я получал то, что необходимо?
Как вариант - переписывать SQL каждый раз, но возможно ли обойтись в таком случае просто параметрами?
-
> [0] Prohodil Mimo © (07.03.08 14:30) Примерно так можно
SELECT ID1, FLD1 FROM TABLE1 WHERE (:flag=1 and FLD1 = ?FLD) or (:flag=2 and FLD1 IS NULL) or (:flag=3)
Не помню, но с одной переменной может не получиться и придется вводить 3 разные переменные.
-
Sergey13 © (07.03.08 14:43) [1]
Спасибо! Именно так и заработало.
-
SELECT ID1, FLD1
FROM TABLE1
WHERE (:GET_ALL_RECORD is not null) or
(:FLD1 is NULL and FLD1 is null) or
(:FLD1 = FLD1)
|