Ir para conteúdo

Arquivado

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

Carcleo

resultado de consulta com mais de um valor em clausula where

Recommended Posts

Pessoal.

 

Preciso fazer essa consulta:

             select
		   f.id as Fornecedor_id,
		   f.nome as Fornecedor_nome,
		   f.razaosocial as Fornecedor_razao,
              pl.id_lista as Lista
		  from
		   produtos_lista pl inner join (produtos p inner join fornecedores f  on p.fornecedor=f.id) on pl.id_produto = p.id
		  where 
		   pl.id_lista ==  (select id_lista from produtos_lista WHERE data_fim > CURRENT_DATE)

A parte,

(select id_lista from produtos_lista WHERE data_fim > CURRENT_DATE)

Nesse momento esta me retornando 3 dias

Mas não da pra fazer:

pl.id_lista == 1,2,3

Como posso fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usa o IN();

 

select

f.id as Fornecedor_id,

f.nome as Fornecedor_nome,

f.razaosocial as Fornecedor_razao,

pl.id_lista as Lista

from

produtos_lista pl inner join (produtos p inner join fornecedores f on p.fornecedor=f.id) on pl.id_produto = p.id

where

pl.id_lista IN (select id_lista from produtos_lista WHERE data_fim > CURRENT_DATE)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é:

 

Estive pensando.:

Como existe o campo data_fin na tabela, resolvi fazer fazer direto:

             select
		   f.id as Fornecedor_id,
		   f.nome as Fornecedor_nome,
		   f.razaosocial as Fornecedor_razao,
              pl.id_lista as Lista
		  from
		   produtos_lista pl inner join (produtos p inner join fornecedores f  on p.fornecedor=f.id) on pl.id_produto = p.id
		  where 
		   pl.data_fim >= CURRENT_DATE	
             order by f.id 

Mas gostei muito de aprender a clausula IN.

O que vocês acharam da sql que criei?

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.