Como faço para usar coluna de instrução de caso no grupo por
Conforme declarado pela pergunta, estou tentando formular uma consulta que tenha uma instrução case nos resultados da coluna e, em seguida, quero incluir essa coluna no grupo da consulta por instrução. Para dar um exemplo concreto, aqui está tudo o que minha consulta parece:
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
Antes de vir aqui, eu verifiquei alguns sites, incluindoeste, para tentar resolver meu problema. Eu tentei adicionar outro alias após oCASE
palavra-chave é mostrada na página da web vinculada, mas não teve sorte. A mensagem de erro que continuo a receber é a seguinte:
[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
Alguém mais se deparou com os problemas que estou enfrentando e foi capaz de usar umGROUP BY
sobre os resultados de umCASE
declaração? Qualquer ajuda seria apreciada. Ah, e a versão do DB2 é uma instância do z / OS, versão 10 (DSN10015)