FICHA TECNICA DE CONSUMO - SQL
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
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
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
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
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
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
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
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
Tópico encerrado , respostas não são mais permitidas