Доброе время суток, Всем!
Никак не могу решить такую задачу.
Надо сделать SQL-выборку (SQL Server 2005, так на всякий случай)
SELECT
*
FROM [dbo].[Table] AS Table
WHERE Table.Id ???
CASE
WHEN @Flag <> ''
THEN ( 1, 2, 3 )
ELSE (4, 5, 6)
END
Хотелось бы вмето
??? вставить IN. Но не работает.
Если встаить
= и вместо списка использовать 1, то работает. Но это не интересно.
Есть ли способ решиить эту "проблему"?
Спасибо.
Здравствуйте, Spender, Вы писали:
S>S>SELECT
S> *
S>FROM [dbo].[Table] AS Table
S>WHERE Table.Id ???
S>CASE
S> WHEN @Flag <> ''
S> THEN ( 1, 2, 3 )
S> ELSE (4, 5, 6)
S>END
S>
S>Хотелось бы вмето ??? вставить IN. Но не работает.
S>Если встаить = и вместо списка использовать 1, то работает. Но это не интересно.
S>Есть ли способ решиить эту "проблему"?
S>Спасибо.
WHERE (@Flag <> '' AND Table.Id IN (1, 2, 3)) OR (@Flag = '' AND Table.Id IN (4, 5, 6))
Здравствуйте, vmpire, Вы писали:
V>V>WHERE (@Flag <> '' AND Table.Id IN (1, 2, 3)) OR (@Flag = '' AND Table.Id IN (4, 5, 6))
V>
Спасибо!
В эту сторону-то я и забыл подумать