У меня проблемы с возвратом VARCHAR из производного столбца.
Ниже приведены чрезвычайно упрощенные примеры кода.
Я мог сделать это раньше:
SELECT *, message =
CASE
WHEN (status = 0)
THEN 'aaa'
END
FROM products
Но когда я ввожу общее табличное выражение или производную таблицу:
WITH CTE_products AS (SELECT * from products)
SELECT *, message =
CASE WHEN (status = 0)
THEN 'aaa'
END
FROM CTE_products
это похоже на ошибку со следующим сообщением:
Conversion failed when converting the varchar value 'aaa' to data type int.
Когда я настраиваю строку, чтобы сказать:
WITH CTE_products AS (SELECT * from products)
SELECT *, message =
CASE WHEN (status = 0)
THEN '123'
END
FROM CTE_products
Возвращается правильно.
...
Когда я удаляю все остальные пункты до него, он также прекрасно работает, возвращая «ааа».
Я бы предпочел оставить это как отдельный запрос.