Criar um campo somando pedidos e subtraindo pela qtd estoque
13/03/2015
0
Estou com uma duvida, tenho esta query abaixo:
SELECT
a.cod_empresa
,a.cod_item
,c.den_item
,c.cod_unid_med
,a.prz_entrega
,sum(a.qtd_pecas_solic-a.qtd_pecas_atend-a.qtd_pecas_cancel)saldo_pedidos
,d.qtd_liberada AS saldo_estoque
FROM ped_itens a
JOIN item c
ON(c.cod_empresa = a.cod_empresa)
AND(c.cod_item = a.cod_item)
JOIN estoque d
ON(d.cod_empresa = a.cod_empresa)
AND(d.cod_item = a.cod_item)
JOIN grl_atr_ant_cri_massas_rev01 e
ON(e.cod_empresa = a.cod_empresa)
AND(e.cod_item = a.cod_item)
WHERE a.cod_empresa = '02'
AND (a.qtd_pecas_solic-a.qtd_pecas_atend-a.qtd_pecas_cancel) > '0'
AND c.ies_situacao = 'A'
AND c.ies_tip_item = 'F'
AND a.cod_item = '4559'
GROUP BY
a.cod_empresa
,a.cod_item
,c.den_item
,c.cod_unid_med
,a.prz_entrega
,saldo_estoque
order by c.den_item, a.prz_entrega
Que me traz esse resultado
[img]http://arquivo.devmedia.com.br/forum/imagem/402654-20150313-095122.jpg[/img]
Quero criar um campo que some os pedidos e subtraia pelo estoque, porém percebe que o estoque se repete, por existir prazos de entregas diferentes, porém preciso que aparece esse valor de estoque apenas uma vez só pois senão vai distorcer no resultado, como faço isto ?
Dagoberto Neto
Posts
16/03/2015
Dagoberto Neto
Por gentileza, alguém poderia me ajudar de como esta realizando esse procedimento ???
16/03/2015
Dagoberto Neto
Como sou um cara muito iniciante, realmente preciso me aprofundar cada vez mais, vou ler e vou estudar um pouco mais sobre triggers, porém você tem um exemplo parecido com o que eu preciso, pois as vezes vendo um exemplo as coisas fica mais simples, pois estava dando uma olhada em Triggers rapidamente e as explicações são muito técnicas se tiver algum exemplo parecido com o cenário acima que descrevi ficaria grato.
Abraços
16/03/2015
Marisiana Battistella
Se não tem necessidade de retornar o prazo de entrega, é só somar os valores da coluna saldos_pedidos e diminuir do valor de estoque.
17/03/2015
Dagoberto Neto
Preciso sim dos prazos de entrega, na verdade ele é primordial, sem eles eu até consegui fazer, mas necessito do mesmo. Tem alguma solução rs.
17/03/2015
Dagoberto Neto
17/03/2015
Marisiana Battistella
SELECT a.cod_empresa, a.cod_item, c.den_item, c.cod_unid_med, d.qtd_liberada AS saldo_estoque, a.prz_entrega, sum(a.qtd_pecas_solic-a.qtd_pecas_atend-a.qtd_pecas_cancel)saldo_pedidos FROM ped_itens a JOIN item c ON(c.cod_empresa = a.cod_empresa) AND(c.cod_item = a.cod_item) JOIN estoque d ON(d.cod_empresa = a.cod_empresa) AND(d.cod_item = a.cod_item) JOIN grl_atr_ant_cri_massas_rev01 e ON(e.cod_empresa = a.cod_empresa) AND(e.cod_item = a.cod_item) WHERE a.cod_empresa = '02' AND (a.qtd_pecas_solic-a.qtd_pecas_atend-a.qtd_pecas_cancel) > '0' AND c.ies_situacao = 'A' AND c.ies_tip_item = 'F' AND a.cod_item = '4559' GROUP BY a.cod_empresa, a.cod_item, c.den_item, c.cod_unid_med, d.qtd_liberada, a.prz_entrega
Até onde sei, essa é a forma mais correta de fazer.
17/03/2015
Dagoberto Neto
somar o saldo de pedido que vai dar 1325 - 1325 pegando o valor do estoque apenas uma vez e não 3975 pois ta repetindo o valor do estoque entendeu precisava criar esta soma.
17/03/2015
Marisiana Battistella
SELECT a.cod_empresa, a.cod_item, c.den_item, c.cod_unid_med, d.qtd_liberada AS saldo_estoque, a.prz_entrega, sum(a.qtd_pecas_solic-a.qtd_pecas_atend-a.qtd_pecas_cancel) as saldo_pedidos, (sum(a.qtd_pecas_solic-a.qtd_pecas_atend-a.qtd_pecas_cancel) - d.qtd_liberada ) as saldo_pedidos_2 FROM ped_itens a JOIN item c ON(c.cod_empresa = a.cod_empresa) AND(c.cod_item = a.cod_item) JOIN estoque d ON(d.cod_empresa = a.cod_empresa) AND(d.cod_item = a.cod_item) JOIN grl_atr_ant_cri_massas_rev01 e ON(e.cod_empresa = a.cod_empresa) AND(e.cod_item = a.cod_item) WHERE a.cod_empresa = '02' AND (a.qtd_pecas_solic-a.qtd_pecas_atend-a.qtd_pecas_cancel) > '0' AND c.ies_situacao = 'A' AND c.ies_tip_item = 'F' AND a.cod_item = '4559' GROUP BY a.cod_empresa, a.cod_item, c.den_item, c.cod_unid_med, d.qtd_liberada, a.prz_entrega
17/03/2015
Dagoberto Neto
[img]http://arquivo.devmedia.com.br/forum/imagem/402654-20150317-122702.jpg[/img]
17/03/2015
Marcos P
Voltando na sua questão original...
[img]http://arquivo.devmedia.com.br/forum/imagem/378439-20150317-180356.jpg[/img]
Quero criar um campo que some os pedidos e subtraia pelo estoque, porém percebe que o estoque se repete, por existir prazos de entregas diferentes, porém preciso que aparece esse valor de estoque apenas uma vez só pois senão vai distorcer no resultado, como faço isto ?
-------------------------
No seu exemplo da imagem, qual o resultado desejado em cada uma das três linhas selecionadas ?
Qual o nome da nova coluna e qual a regra de cálculo considerando as colunas existentes ?
Estou de saída agora, mas dou uma olhada na sua resposta na sequencia....
Aproveito para relatar minha perplexidade com o nível dos comentários do forum... o sujeito falar que para resolver isso aí você deveria estudar triggeres, na minha opinião, seria motivo dele ser banido do site. O gênio que fez esse comentário, poderia me explicar como qualquer tipo de trigger resolveria essa questão ?
18/03/2015
Dagoberto Neto
Vamos lá...
Olhando a imagem que postei note que tenho um mesmo item que se repete com prazos de entregas diferente, preciso do total da soma de pedidos ou seja 300+900+125 = 1325 correto, porém preciso subtrair pelo o que já tenho em estoque que no caso é 1325 apenas, porém o saldo de estoque acaba se repetindo pelo fato dos prazos de entregas serem diferente e distorcendo a soma de seu valor pois ele mostra 3 vezes o valor do estoque. Resumindo precisaria de um campo da seguinte forma saldo_Pedido(1325) - saldo_estoque(1325) = 0, ou senão quando o item for repetido aparecer apenas uma vez saldo_estoque, algo assim.
Grato até o momento.
Neto
18/03/2015
Marcos P
Seu exemplo é confuso, porque tanto o total de "saldos_pedidos" e o "saldo_estoque" tem o mesmo valor.
Preparei um outro set de dados, abaixo.
cod_item prz_entrega saldo_pedidos saldo_estoque nova_coluna -------- ------------- ------------- ------------- ------------- 4559 20/03/2015 500 1325 4559 20/03/2015 100 1325 4559 20/03/2015 450 1325
Qual o nome do campo "nova_coluna" ?
Isso é importante, porque o nome pode dar uma ideia da definição do cálculo usado.
Qual o valor de "nova_coluna", para cada uma dessas três linhas ?
Fico no aguardo.
Clique aqui para fazer login e interagir na Comunidade :)