Veja como selecionar registros e (ao mesmo tempo) interpretando campos. O que antes só podia ser feito via Stored Procedure agora fazemos numa sentença SQL.
Imaginemos um cadastro de clientes onde temos um campo SEXO cujo valor pode ser "M" (Masculino) ou "F" (Feminino). Queremos contar os clientes do sexo feminino e do sexo masculino. Isto é simples: SELECT SEXO, COUNT(*) FROM CLIENTES GROUP BY SEXO Isto já resolve a situação. Porém, queremos que no nosso resultado apareça a palavra MASCULINO e FEMININO no lugar de M ou F. É só fazer assim: SELECT CASE WHEN (PAC_SEXO = "M") THEN "MASCULINO" WHEN (PAC_SEXO = "F") THEN "FEMININO" WHEN (PAC_SEXO = " " OR PAC_SEXO IS NULL) THEN "NÃO INFORMADO" ELSE "SEXO INVALIDO (" || PAC_SEXO || ")" END AS SEXO, COUNT(*) AS QUANT FROM PACIENTE GROUP BY 1 Aqui temos dois pontos que merecem comentários. Cláusula CASE: Funciona igual a maioria das linguagens de programação. CASE WHEN (<condição>) THEN <resultado> ELSE <resultado> END AS <nome do campo> Cláusula GROUP BY: Podemos agrupar pela posição do campo no resultado. No nosso exemplo, estamos agrupando pelo primeiro (1) campo. Em outro artigo comentaremos melhor sobre as possíveis variações do GROUP BY.