FICHA TECNICA DE CONSUMO - SQL

USUARIO.EXCLUIDOS 20/01/2005 17:37:21
#62062
Pessoal está é difícil

Tenho na

tabela1
coddigo_insumo, codigo_produtofinal, quantidade_insumo3

Tabela 2
codigo_produtofinal, quant_vendida

Por exemplo produto final com código 1 tem em sua receita farinha e queijo, código2 farinha, qiejo e carne e assim por diante para todos os produtos

Eu preciso criar uma consulta que
mostre o consumo de cada insumo farinha, queijo, etcs.

Alguem já fez alguma coisa parecida , por onde eu posso começar ?

Muito Obrigado


USUARIO.EXCLUIDOS 20/01/2005 18:12:44
#62066
Resposta escolhida
Eu talvez não tenha entendido muito bem..mas veja se é isso..

na sua tabela 1 vc teria por exemplo digamos que vc tenha vendido 10 unidades do produto final 1 que é um pão..ele teria nos insumos farinha(codigo 1), sal (codigo 2) , açucar codigo (3) e digamos que pro produto final 1 (pão) ele use 0,3 kg de farinha, 0,2 kg de sal e 0,1 kilos de açucar ficaria assim

Codigo_ProdutoFinal, QuantVendida
1 10

Tabela 2
coddigo_insumo, codigo_produtofinal, quantidade_insumo3 (KG)
1 10 0,1
2 10 0,1
3 10 0,1

se vc vendeu 10 unidades do produto final...e cada um dos subprodutos dele tem, 0,1 na quantidade...não seria multiplicar a quantidade vendida final pela quantidade de cada insumo ?
Ex..
suproduto 1 - 10 * 0,3 = 3 Kilos de farinha no produto final 1
suproduto 1 - 10 * 0,2 = 2 Kilos de açucar no produto final 1
suproduto 1 - 10 * 0,1 = 1 Kilo de sal no produto final 1


se for isso o select ficaria

select a.*,b.*,b.quantidade_insumo3 * a.quantidadetotal as quantidadetotainsumo from (select Codigo_ProdutoFinal, sum(Quant_Vendida ) as QuantidadeTotal from tabela1 group by Codigo_ProdutoFinal) a,
tabela2 b where a.Codigo_ProdutoFinal = b.Codigo_ProdutoFinal

este select agrupa e soma a quantidade vendida de todos os produtos da tabela1 (produto final)
e faz um join na tabela 2 multiplicando esta soma pela quantidade do insumo


num sei se era isso
USUARIO.EXCLUIDOS 20/01/2005 19:41:08
#62069
Caros como eu sou iniciante eu consegui fazer até uma parte vamos lá:

Tabela MIX2
Cod_Prod Descricao Quantidade

1 Pão 10
2 Bolacha 10

Tabela FICHA

Cod_Prod Cod_ins Descricao Quantidade

1 1 Queijo 0,056
1 2 Farinha 0,084
1 3 Fermento 10
2 1 Queijo 0,056
2 4 Tomate 10


Consegui fazer até aqui, veja a consulta :

sql = "Select ficha.descricao_insumo, ficha.cod_prod, mix2.quantidade * ficha.quantidade AS [txt-color=#ff0000]total_insumo [/txt-color]from mix2,ficha"

A consulta retornou :

Tota_insumo Descricao

0,56 Queijo
0,56 Queijo
0,56 Queijo
0,56 Queijo
0,84 Farinha
0,84 Farinha
100 Fermento
100 Fermento
100 Tomate
100 Tomate

Notem que os valores foram duplicados

Este é o retorno que eu gostaria:

Cod_insu Descricao Tota_insumo
1 Queijo 1,12
2 Farinha 0,84
3 Fermento 100
4 Tomate 100

Agaradeço muito a ajuda

Cristian

USUARIO.EXCLUIDOS 21/01/2005 10:03:26
#62155
o select é o mesmo...só muda o nome de campo e tabelas.....e ajuste pra quais campos quer exibir

select a.*,b.*,b.quantidade * a.quantidadetotal as quantidadetotainsumo from (select Cod_Prod, sum(Quantidade ) as QuantidadeTotal from mix2 group by Cod_Prod) a,
ficha b where a.Cod_Prodl = b.Cod_Prod


Página 1 de 2 [18 registro(s)]
Tópico encerrado , respostas não são mais permitidas