Fórum Consulta SQL #314975

05/03/2006

0

Olá Amigos...

tenho a seguinte tabela:

[color=red:c2d219b6a3][b:c2d219b6a3]LOTE[/b:c2d219b6a3][/color:c2d219b6a3]
[b:c2d219b6a3]- CodEmp (Código da Empresa)
- CodPro (Código do Produto)
- Saldo (Saldo Disponivel)[/b:c2d219b6a3]

Eu quero fazer o seguinte...
Selecionar Todos os Códigos dos produtos que o SALDO seja maior que 0 na empresa 7, e que sejam = 0 na empresa 1.

Eu comecei a query aqui.. mas nao consegui terminar:

select produtos.cod, produtos.nom, lote.sal from lote, produtos where lote.sal > 0 and lote.emp = 7 and lote.pro = produtos.cod order by produtos.nom


nesse codigo ai em cima ele pega todos os produtos que tem saldo maior q 0 na empresa 7.... legal...
[b:c2d219b6a3]mas como que eu faço pra ele filtrar na mesma query os que tem saldo = 0 na empresa 1 ???[/b:c2d219b6a3]

[color=red:c2d219b6a3]obrigado[/color:c2d219b6a3]


Nettopassaro

Nettopassaro

Responder

Posts

05/03/2006

Aroldo Zanela

Colega,

Use o opeador [b:095d82e556]IN[/b:095d82e556].

select 
  produtos.cod, produtos.nom, lote.sal
from 
  lote
inner join 
  produtos
on
  (lote.pro = produtos.cod)
where 
  (lote.sal > 0) and (lote.emp in (1,7))
order by 
  produtos.nom



Responder

Gostei + 0

05/03/2006

Maxadens

Parceiro,

Tenta desta forma. Acredito que dê certo.

Abraço!

select produtos.cod, produtos.nom, lote.sal
from lote, produtos
where
(lote.sal > 0 and
lote.emp = 7 and
lote.pro = produtos.cod ) or
(lote.sal = 0 and
lote.emp = 1 and
lote.pro = produtos.cod )
order by produtos.nom


Responder

Gostei + 0

06/03/2006

Emerson Nascimento

select 
  produtos.cod, produtos.nom, lote.sal 
from 
  lote 
inner join 
  produtos 
on 
  (lote.pro = produtos.cod) 
where 
  (lote.sal = 0 and lote.emp = 1) or
  (lote.sal > 0 and lote.emp = 7)
order by 
  produtos.nom



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar