Consulta SQL com Case dentro do Where
Tenho que fazer a seguinte consulta:
´
SELECT CASE CLIENTES.TIPOPESSOA WHEN ´Jurídica´
THEN CLIENTES.FANTASIA ELSE CLIENTES.NOME END
AS NOME_OU_FANTASIA FROM CLIENTES
´
Se o cliente for pessoa jurídica a consulta trará o conteúdo do campo fantasia em NOME_OU_FANTASIA se não for, trará o conteúdo do campo nome. Simples, não?
A dúvida: quero trazer apenas os clientes cuja primeira letra for M, por exemplo.
Minha primeira idéia foi: ´WHERE FANTASIA LIKE:VPrimeiraLetra OR NOME LIKE:VPrimeiraLetra´, mas aí mesmo que TIPOPESSOA = Jurídica, a SQL mostraria o registro se FANTASIA começasse com ´M´ [b:7b10596dda]ou[/b:7b10596dda] se NOME começasse com ´M´, o que obviamente não seria correto.
Consegui me explicar? Podes me ajudar como fazer esse where?
Brigadin...
´
SELECT CASE CLIENTES.TIPOPESSOA WHEN ´Jurídica´
THEN CLIENTES.FANTASIA ELSE CLIENTES.NOME END
AS NOME_OU_FANTASIA FROM CLIENTES
´
Se o cliente for pessoa jurídica a consulta trará o conteúdo do campo fantasia em NOME_OU_FANTASIA se não for, trará o conteúdo do campo nome. Simples, não?
A dúvida: quero trazer apenas os clientes cuja primeira letra for M, por exemplo.
Minha primeira idéia foi: ´WHERE FANTASIA LIKE:VPrimeiraLetra OR NOME LIKE:VPrimeiraLetra´, mas aí mesmo que TIPOPESSOA = Jurídica, a SQL mostraria o registro se FANTASIA começasse com ´M´ [b:7b10596dda]ou[/b:7b10596dda] se NOME começasse com ´M´, o que obviamente não seria correto.
Consegui me explicar? Podes me ajudar como fazer esse where?
Brigadin...
Armindo
Curtidas 0
Respostas
Emerson Nascimento
11/10/2008
adiocione sua condição ao where:
SELECT CASE CLIENTES.TIPOPESSOA WHEN ´Jurídica´ THEN CLIENTES.FANTASIA ELSE CLIENTES.NOME END AS NOME_OU_FANTASIA FROM CLIENTES WHERE (CLIENTES.TIPOPESSOA = ´Jurídica´ and FANTASIA LIKE :VPrimeiraLetra) OR (CLIENTES.TIPOPESSOA = ´Física´ and NOME LIKE:VPrimeiraLetra)
GOSTEI 0
Armindo
11/10/2008
adiocione sua condição ao where:
SELECT CASE CLIENTES.TIPOPESSOA WHEN ´Jurídica´ THEN CLIENTES.FANTASIA ELSE CLIENTES.NOME END AS NOME_OU_FANTASIA FROM CLIENTES WHERE (CLIENTES.TIPOPESSOA = ´Jurídica´ and FANTASIA LIKE :VPrimeiraLetra) OR (CLIENTES.TIPOPESSOA = ´Física´ and NOME LIKE:VPrimeiraLetra)
Perfeito emerson. Às vezes a solução é simples gente procura uma complexa. Hehe!
Obrigadão.
GOSTEI 0