Полагаю, проблема в том, что у вас неполное выражение. Тернарный оператор ? :
состоит из трех частей: (boolean expression) ? True bits : False bits
[Copy of operation]== "1" ? "INSERTED" : [Copy of operation]== "2" ? "DELETED" : [Copy of operation]== "3"? "UPDATED" : "UNKNOWN"
Это выражение будет иметь вид
- Если значение операции копирования столбца равно 1, тогда вернуть INSERTED
- else Если значение столбца копирования операции равно 2, вернуть DELETED
- else Если значение столбца копирования операции равно 3, вернуть UPDATED
Предполагается, что тип данных столбца Copy of operation
является строкой. Если это целое число, вы удалили бы двойные кавычки вокруг значений 1,2,3.
В комментариях вы указали, что операция __ $ указывает на значение операции как * 1045. *
Перейдите к вышеуказанному шаблону и измените различия (1 удаляется в комментарии, а 1 вставляется в вопросе) для генерации значений.
A другой подход это использовать крошечную таблицу поиска. Вы даже можете определить его с помощью встроенного запроса и использовать компонент «Уточняющий запрос», чтобы добавить описание своей операции в поток данных
SELECT
OperationId
, OperationName
FROM
(
VALUES ('1', 'INSERTED')
, ('2', 'DELETED')
-- etc
)D(OperationId, OperationName);
Опять же, убедитесь, что у вас выровнены типы данных