SQL
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.
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
Curtidas 0
Respostas
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
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
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
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
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