У меня есть огромный запрос, который часто использует случай/когда. Теперь у меня есть этот SQL здесь, который не работает.
(select case when xyz.something = 1
then
'SOMETEXT'
else
(select case when xyz.somethingelse = 1)
then
'SOMEOTHERTEXT'
end)
(select case when xyz.somethingelseagain = 2)
then
'SOMEOTHERTEXTGOESHERE'
end)
end) [ColumnName],
То, что доставляет неприятности, xyz.somethingelseagain = 2
, это говорит, что не могло связать то выражение. xyz является некоторым псевдонимом для таблицы, к которой присоединяются далее вниз в запросе. Что случилось здесь? Удаление одного из 2 case/whens исправляет это, но мне нужны они оба, вероятно, еще больше случаев.
SELECT
CASE
WHEN xyz.something = 1 THEN 'SOMETEXT'
WHEN xyz.somethingelse = 1 THEN 'SOMEOTHERTEXT'
WHEN xyz.somethingelseagain = 2 THEN 'SOMEOTHERTEXTGOESHERE'
ELSE 'SOMETHING UNKNOWN'
END AS ColumnName;