Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vinny Oliveira

Consulta por 2 campos ?

Recommended Posts

Galera eu tenho uma duvida, estou tentando fazer uma consulta que exiba os registros relacionados de 2 colunas, meu select esta assim mas nao funciona:

 

select*from pedido as pe , pagamento as pa, clientes as cli, parcela as par where pe.pedido_id=pa.pgto_pedido and cli.cli_id=pe.pedido_cli and par.par_id=pe.pedido_id and par.par_status in ('No Prazo') and pe.pedido_id in (1);

 

Estou usando o comando "in" para pegar os valores que eu quero do banco, só com 1 funciona mas com 2 ele retorna em branco (acho que é o and)... Não sei como resolver isso, alguem me ajuda?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Buenas tchê.

 

Tem como passar um exemplo dos dados?

O registro do pedido_id = 1 tem como status = 'No Prazo' ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Buenas tchê.

 

Tem como passar um exemplo dos dados?

O registro do pedido_id = 1 tem como status = 'No Prazo' ?

Não amigo esse e o problema, eu quere que ele pegue todos os pedidos que tiverem id=1 e todods os pedidos que o status forem 'No Prazo' , podem ser de registros diferentes

 

Estou querendo para fazer um sistema de filtragem onde alem de escolher por id a pessoa escolha por status e id juntos entende?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que alterando o final da sua query funcione:

and (par.par_status in ('No Prazo') OR pe.pedido_id in (1))

Fazendo isso, retornará ambos os resultados, os que possui id 1 OU status = 'No Prazo'.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exatamente como o @lokaodomau postou. Uma consulta SQL executa os critérios por linha.

No caso da sua consulta, o banco de dados só vai retornar quando a linha consultada tiver o status 'No Prazo' E id 1.

Não sei se fui claro na explicação, mas é isso. hehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que alterando o final da sua query funcione:

and (par.par_status in ('No Prazo') OR pe.pedido_id in (1))

Fazendo isso, retornará ambos os resultados, os que possui id 1 OU status = 'No Prazo'.

 

Cara vc salvo minha pele ! funcionou mesmo ele chamou os 2 registros VALEEEU MANO!!!

Exatamente como o @lokaodomau postou. Uma consulta SQL executa os critérios por linha.

No caso da sua consulta, o banco de dados só vai retornar quando a linha consultada tiver o status 'No Prazo' E id 1.

Não sei se fui claro na explicação, mas é isso. hehe

Certinho man :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.