Consulta SQL

Delphi

05/03/2006

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

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

05/03/2006

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



GOSTEI 0
Maxadens

Maxadens

05/03/2006

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


GOSTEI 0
Emerson Nascimento

Emerson Nascimento

05/03/2006

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



GOSTEI 0
POSTAR