SQL

Delphi

12/11/2003

tenho um filtro assim:
Select Produtos.Descricao,Produtos.CodProduto,Produtos.Tipo,Produtos.QtdeCompra,Sum(Itens.Quantidade*Itens.Preco) as Total, Sum(Itens.Quantidade) as Qtde
From Produtos,Pedidos,Itens
Where Pedidos.Numero = Itens.NroPed and
Itens.CodProduto = Produtos.Codigo and
Pedidos.Entregue = False
Group By Produtos.Descricao,Produtos.CodProduto,Produtos.Tipo,Produtos.QtdeCompra
Order By Produtos.Descricao

serve para trazer dos pedidos q ainda não foram entregues, por produto quantos itens faltam para entregar, e preciso acrescentar neste filtro algo que traga quantas caixas dariam e se não interar a qtde q tem na caixa do produto mostraria qtas unidades dariam a mais.
na tabela de itens eu tenho um campo q defini se a venda foi em unidade ou em caixa e qto vem em cada cx(Unidade é com a letra U e Caixa com C) então imagino algo assim, se for C ele multiplica a quantidade pela Qtde q tem na caixa, e se for U ele só vai somando as quantidades e o relatorio fica assim:

Produto Caixa Qtde Caixa Qtde Unit.

na realidade este relatório é para saber quanto tem q carregar de cada produto.
Eu sei q ficou meio ruim de entender mas foi o que consegui explicar, se alguem puder me ajudar em como vou criar um comando dentro da query para q consiga me dar esse resultado.


Janete

Janete

Curtidas 0

Respostas

Fava

Fava

12/11/2003

Utilize um campo calculado na sua query para resolver esta questão, fica mais simples que tentar via SQL (se é que é possivel sem o uso de alguma UDF).


GOSTEI 0
Janete

Janete

12/11/2003

Utilize um campo calculado na sua query para resolver esta questão, fica mais simples que tentar via SQL (se é que é possivel sem o uso de alguma UDF).


Neste caso acho q não dá, pois já tentei, mas o problema é q eu não trago pela query o campo na tabela de itens q define se esta vendendo em unidade ou caixa conforme havia explicado, pois se eu pedir para trazer este campo pela query, não dá certo meu filtro, que está trazendo cada produto uma unica vez e acumulando seu total de vendas, mas essa quantidade as vezes é multiplicada pela qtde de caixa ou não então não posso simplesmente soma-la.


GOSTEI 0
Djjunior

Djjunior

12/11/2003

neste caso use uma subquery tipo:
select sum(a.qtde)
from (select produto,unidade,qtde from pedidos where produtoid =:id) as a

eu não testei o código, mas creio que dá pra ter uma noção


GOSTEI 0
Janete

Janete

12/11/2003

neste caso use uma subquery tipo: select sum(a.qtde) from (select produto,unidade,qtde from pedidos where produtoid =:id) as a eu não testei o código, mas creio que dá pra ter uma noção


Não consegui resolver este problema, se alguem puder me ajuduar novamente


GOSTEI 0
POSTAR