Как указано в вопросе, я пытаюсь сформулировать запрос с аргументом case в результатах столбца, а затем я хочу включить этот столбец в группу запросов по инструкции. Чтобы дать конкретный пример, здесь мало что похоже на мой запрос:
SELECT SOME_TABLE_ALIAS.COLUMN1, OTHER_TABLE_ALIAS.COLUMN2,
CASE
WHEN SOME_TABLE_ALIAS.COLUMN3 IS NOT NULL THEN 'A'
ELSE 'B'
END AS CASE_COLUMN
FROM SOME_TABLE SOME_TABLE_ALIAS
... (other table joins and where clauses)
GROUP BY SOME_TABLE_ALIAS.COLUMN1, OTHER_TABLE_ALIAS.COLUMN2, CASE_COLUMN
Перед тем, как приехать сюда, я проверил несколько веб-сайтов, включая этот, чтобы попытаться решить мою проблему. Я попытался добавить другой псевдоним после того, как ключевое слово CASE
, как показано на связанной веб-странице, но не повезло. Сообщение об ошибке, которое я продолжаю получать, следующее:
[Error] Script lines: 127-151 ----------------------
CASE_COLUMN IS NOT VALID IN THE CONTEXT WHERE IT IS USED. SQLCODE=-206, SQLSTATE=42703, DRIVER=3.53.71
Кто-нибудь еще сталкивается с проблемами, с которыми я столкнулся, и смог использовать GROUP BY
по результатам инструкции CASE
? Любая помощь будет оценена по достоинству. О, и версия DB2 представляет собой экземпляр z/OS, версия 10 (DSN10015)