Да, это возможно. Похоже, вы пропустили input_expression
из вашего простого выражения CASE и у вас есть FROM
в неправильном месте.
INSERT INTO @Temp1
SELECT DISTINCT description,
CASE description
WHEN aaa THEN 1
WHEN bbb THEN 2
END
FROM Table1
Конечно, если aaa
и т. Д. Являются константами, а не производными от других столбцов в Table1
, так что второй столбец может быть детерминированно выведен из первого столбца (и он не будет изменен в будущих обновлениях) не может быть никакого смысла хранить его вообще. Вы можете определить переменную таблицы с помощью вычисляемого определения столбца или просто использовать выражение CASE
, когда SELECT
-ing из него.
Пример случая вычисляемого столбца
DECLARE @Temp1 TABLE (
[description] VARCHAR(50),
[calcColumnExample] AS CASE description
WHEN 'aaa' THEN 1
WHEN 'bbb' THEN 2
END
)