Сегодня я столкнулся с проблемой, когда подумал: «Эй, может быть, самое время попробовать какой-нибудь динамический SQL!» Однако у меня проблема. Упрощенная версия может быть ...Изменение переменной при использовании динамического SQL
Declare @Condition VARCHAR(MAX)
SET @Query = 'INSERT INTO #Report_Table
SELECT column1, column2, column3
FROM my_table
WHERE column4 = ''' + @Condition +''''
SET @Condition = 'Blah'
EXEC(@Query)
SET @Condition = 'OtherBlah'
EXEC(@Query)
Однако, я нашел, что это не работает. Это не дает мне результатов, когда я пытаюсь. Кажется, переменная @Condition должна быть установлена перед переменной @Query. Но, делая это, я не могу запускать @Query несколько раз, используя разные @Conditions. Есть ли способ сделать то, что я хочу?
Положить его в петлю. – OTTA
Создайте временную таблицу условий (или CTE), а затем используйте соединение ... –