У меня есть выбор, который должен иметь динамические условия WHERE CASE.
SELECT
*
FROM
vwShowUctyPohyby
WHERE
(@id_parent is null or id_parent=@id_parent)
and (datetime_creation <= @record_first_datetime)
ORDER BY
CASE @sort_order WHEN 0 THEN datetime_creation END ASC,
CASE @sort_order WHEN 1 THEN datetime_creation END DESC
Как видите, существует условие для динамического выбора типа ORDER
. Теперь мне нужно сделать то же самое с WHERE
part. Я обнаружил, что он может работать как datetime_creation = CASE ..... WHEN ... THEN .... END.
Проблема в том, что мне нужно создать datetime_creation <= @record_first_datetime
для одного условия WHERE и datetime_creation >= @record_first_datetime
для другого условия.
Как мне это сделать? Я не хочу создавать два выбора и использовать оператор IF ELSE.
Я использую этот SELECT для динамической подкачки на стороне SQL с ROWCOUNT.