ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Usando o comando OR para consultas SQL

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Seg Fev 20, 2017 11:17 am    Assunto: Usando o comando OR para consultas SQL Responder com Citação

Como faço para funcionar o OR dentro do where para consultar por um ou por outro campo?

Ou seja quero consultar por razao_social ou por cnpj, mais do jeito que fiz ta trazendo errado.
Código:
SELECT
contas_pagar.data_vencimento,
fornecedor.razao_social,
fornecedor.cnpj_cpf,
descricao_contas_pagar.descricao, contas_pagar.informacoes_adicionais,
CAST(classificacao_contas.descricao AS VARCHAR(150)) AS classificacao,
forma_pagamento.descricao, contas_pagar.parcela,
TO_CHAR(contas_pagar.valor, 'R$  999G999G990D99') AS valor

FROM contas_pagar
LEFT JOIN fornecedor ON fornecedor.id = contas_pagar.id_fornecedor
LEFT JOIN descricao_contas_pagar ON descricao_contas_pagar.id = contas_pagar.id_descricao_conta_pagar
LEFT JOIN classificacao_contas ON classificacao_contas.id = contas_pagar.id_classificacao
LEFT JOIN forma_pagamento ON forma_pagamento.id = contas_pagar.id_formapgto

WHERE (fornecedor.razao_social like '%METAMORFO%') or (fornecedor.cnpj_cpf like '%%')

ORDER BY contas_pagar.data_vencimento, fornecedor.fantasia, contas_pagar.parcela




Obrigado
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
imex
Moderador
Moderador


Registrado: Sexta-Feira, 7 de Janeiro de 2011
Mensagens: 11666

MensagemEnviada: Seg Fev 20, 2017 11:24 am    Assunto: Responder com Citação

Bom dia,

Acho que todos os registros serão retornados (com exceção dos que estão com o CPNJ nulos) da forma como está a condição do CNPJ.
Acho que se teria que remover aquela condição ou trocar o '%%' por algum valor que com certeza não existe na tabela.

Espero que ajude


Editado pela última vez por imex em Ter Mar 07, 2023 5:36 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
leo_cj
Colaborador
Colaborador


Registrado: Sábado, 26 de Março de 2011
Mensagens: 1335

MensagemEnviada: Seg Fev 20, 2017 11:25 am    Assunto: Responder com Citação

quando você utiliza o like assim fornecedor.cnpj_cpf like '%%' ele vai trazer todos os resultados, e como está utilizando um OR, o filtro pela razão social foi anulado

se a intenção for buscar cnpj_cpf em branco, teste assim:
Código:
WHERE (fornecedor.razao_social like '%METAMORFO%') or (fornecedor.cnpj_cpf = '')


ou assim:
Código:
WHERE (fornecedor.razao_social like '%METAMORFO%') or (fornecedor.cnpj_cpf like '')
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
adriano_servitec
Colaborador
Colaborador


Registrado: Sexta-Feira, 30 de Janeiro de 2004
Mensagens: 17618

MensagemEnviada: Seg Fev 20, 2017 1:18 pm    Assunto: Responder com Citação

Deu certo, obrigado pessoal.
_________________
Jogo seu smartphone? Acesse o link e confira.
https://play.google.com/store/apps/details?id=br.com.couldsys.rockdrum
https://play.google.com/store/apps/details?id=br.com.couldsys.drumsetfree
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Banco de Dados Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB