Как я использую Случай/Когда T-SQL?

У меня есть огромный запрос, который часто использует случай/когда. Теперь у меня есть этот 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 исправляет это, но мне нужны они оба, вероятно, еще больше случаев.

43
задан GEOCHET 6 March 2013 в 17:43
поделиться

1 ответ

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;
93
ответ дан 26 November 2019 в 22:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: