мне нужны результаты, основанные на состоянии, с использованием динамического SQLиспользованием Case получить значения из другой таблицы в SQL сервере
как когда @param1=10
тогда мне нужно все строки детали из table1
еще мне нужно детали из table2
я пытался что-то вроде ниже, но это не дает результата
declare @param1 int=10;
select * from
case when @param1=10 then table1
else table2 end
Примечание: я знаю, что я могу использовать, если состояние как ниже
if @param1=10
select * from table1
else
select * from table2
, но в моем случае запрос очень длинный, так что я не хочу, чтобы заменить все запросы еще раз
, так что я надеюсь, что я просто не могу сделать что-то с футляром без повторной замены всего запроса.
пожалуйста, помогите мне решить проблему
Вы можете использовать динамический SQL. –
@wewesthemenace спасибо за ваш быстрый повтор. есть ли какие-то другие способы, кроме динамического sql? –
Существует, но это может привести к проблемам с производительностью. –