2010-06-29 3 views
3

Есть ли способ использовать if-else логику в where where в T-SQL? или мне нужно реализовать логику, используя подзапрос?использовать if-else логику в where where в T-SQL

+0

@Filip De Vos: Возможно, вы были правы в SQL Server, но FYI, диалект SQL, используемый в Sybase, также называется T-SQL (Transact-SQL). –

ответ

4

Использование Case

(case foo when bar then baz else fizz end) 
4

Вы можете использовать случай заявление в ИНЕКЕ, но он может генерировать проблемы с производительностью, так что вы можете попробовать другой подход, если у вас есть большой набор данных. Коррелированный подзапрос не будет хорошим альтернативным подходом; может быть производная таблица или CTE.

+0

+1 На самом деле, CTE - хороший способ пойти. –

Смежные вопросы