[firebase-br] SQL - Itens Sem Saida

Herminio E. Piram herminiopiram em gmail.com
Ter Out 18 10:56:00 -03 2011


Outra situação, partir da tabela de produto e buscar os códigos que não
estão na saída quando a data for maior que a desejada.

Select ...
from produto a left join saida b on (campos)
left join estoque c on (campos)
where a.cod_produto <> b.cod_produto
and b.data_saida>07/01/2011.

Não rodei mas a ideia é essa.

2011/10/18 Alysson Gonçalves de Azevedo <agalysson em gmail.com>

> Só para corrigir... faltou relacionar a saida com produto, dentro do not
> exists
>
> select saida.produto_id, produto.nome, estoque.saldo, max(saida.data_saida)
>  from produto, estoque, saida
> where estoque.idproduto = produto.produto_id
> and saida.produto_id = produto.produto_id
>  and not exists (select 1 from saida where saida.produto_id =
> produto.produto_id and saida.data_saida > '01.07.2011')
> group by 2,1,3 order by produto.nome'
>
>
> Alysson Gonçalves de Azevedo
> (11) 8491-7730
>
>
>
> Em 18 de outubro de 2011 09:32, Alysson Gonçalves de Azevedo <
> agalysson em gmail.com> escreveu:
>
> > Bem, estou a algum tempo sem usar fb, então não lembro muito bem das
> > funções....
> > mas basicamente você precisa usar not exists
> >
> >
> > select saida.produto_id, produto.nome, estoque.saldo,
> max(saida.data_saida)
> >  from produto, estoque, saida
> > where estoque.idproduto = produto.produto_id
> > and saida.produto_id = produto.produto_id
> >  and not exists (select 1 from saida where saida.data_saida >
> '01.07.2011')
> >
> > group by 2,1,3 order by produto.nome'
> >
> > obs, eu não tenho fb aqui pra testar... então se der algum erro, malz ^^
> >
> > outra coisa que você pode fazer é substituir a parte da data para algo
> como
> > "current_date - data_saida > 90"
> >
> > Alysson Gonçalves de Azevedo
> > (11) 8491-7730
> >
> >
> >
> > Em 18 de outubro de 2011 06:38, Daniel Maranhão <
> > daniel.maranhao.machado em gmail.com> escreveu:
> >
> > Senhores, bom dia !
> >>
> >> Gostaria de uma ajuda de vocês, tenho 3 tabelas:
> >>
> >> PRODUTO
> >> -idproduto
> >> -nome
> >>
> >> ESTOQUE
> >> -idestoque
> >> -saldo
> >> -ult_preco
> >> -produto_id
> >>
> >> SAIDA
> >> -idsaida
> >> -produto_id
> >> -data_saida
> >>
> >> Eu preciso de um SQL que me informe quais os produtos que não tiveram
> >> movimentação nos ultimos 90 dias, por exemplo
> >> A Minha SQL é:
> >>
> >> select saida.produto_id, produto.nome, estoque.saldo,
> >> max(saida.data_saida)
> >> from saida, produto, estoque
> >> where produto.idproduto = saida.produto_id
> >> and estoque.produto_id = saida.produto_id
> >> and saida.data_saida < '01.07.2011' group by 2,1,3 order by
> produto.nome'
> >>
> >> O problema é que é que, as vezes eu tenho um item, que tem uma saida por
> >> mês, e mesmo assim ele está aparecendo no relatório.
> >>
> >> Queria que alguém me ajudasse na lógica, que eu estou apanhando um
> pouco.
> >>
> >> Desde de já, agradeço.
> >>
> >> Atc,
> >>
> >> Daniel
> >>
> >>
> >>
> >> ______________________________**________________
> >> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >> Para saber como gerenciar/excluir seu cadastro na lista, use:
> >> http://www.firebase.com.br/fb/**artigo.php?id=1107<
> http://www.firebase.com.br/fb/artigo.php?id=1107>
> >> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<
> http://firebase.com.br/pesquisa>
> >>
> >
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _

"If the doors of perception were cleansed everything
 would appear to man as it is, infinite." (William Blake)
 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _



Mais detalhes sobre a lista de discussão lista