Criar um campo somando pedidos e subtraindo pela qtd estoque

SQL

MySQL

13/03/2015

Pessoal, primeiramente bom dia.
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

Dagoberto Neto

Curtidas 0

Respostas

Dagoberto Neto

Dagoberto Neto

13/03/2015

Olá, bom dia.
Por gentileza, alguém poderia me ajudar de como esta realizando esse procedimento ???
GOSTEI 0
Fernando C

Fernando C

13/03/2015

pesquise sobre triggers
GOSTEI 0
Dagoberto Neto

Dagoberto Neto

13/03/2015

Certo, Fernando.
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
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

13/03/2015

Neto, o select tem que retornar os prazos de entrega?

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.
GOSTEI 0
Dagoberto Neto

Dagoberto Neto

13/03/2015

Marisiana, bom dia.
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.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

13/03/2015

Você vai listar esses dados em um relatório?
GOSTEI 0
Dagoberto Neto

Dagoberto Neto

13/03/2015

Por enquanto não Marisiana, por enquanto vai ser SQL puro mesmo, mas nem imagino como fazer para o saldo_estoque não se repetir, pois ele se repetindo distorce o resultado, trágico rs
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

13/03/2015

Você só precisa trocar a ordem das colunas, e mesmo assim continuará repetindo, mas como está agrupado não vai mostrar informações erradas...
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.
GOSTEI 0
Dagoberto Neto

Dagoberto Neto

13/03/2015

Então, mas eu precisava fazer algo tipo assim usando o exemplo acima.
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.
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

13/03/2015

Entendi...Você só não pode aplicar SUM no valor de estoque e deixar que calcule por data de pedido. Seria assim:
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
GOSTEI 0
Dagoberto Neto

Dagoberto Neto

13/03/2015

Não deu certo, distorceu o valor de uma olhada no resultado. O correto seria 0 da forma que eu gostaria que seria a soma dos pedidos 1025 - 1025 do estoque.


[img]http://arquivo.devmedia.com.br/forum/imagem/402654-20150317-122702.jpg[/img]
GOSTEI 0
Marcos P

Marcos P

13/03/2015

Neto,

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 ?
GOSTEI 0
Dagoberto Neto

Dagoberto Neto

13/03/2015

Bom dia Marcelo, tudo bem?

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
GOSTEI 0
Marcos P

Marcos P

13/03/2015

É Marcos, não Marcelo... ok ?!?

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.
GOSTEI 0
Marcos P

Marcos P

13/03/2015

Obviamente, que as datas são diferentes em "prz_entrega" !
GOSTEI 0
Dagoberto Neto

Dagoberto Neto

13/03/2015

Bom vamos lá, primeiramente me desculpe por errar seu nome Marcos.

A nova coluna vai se chamar Saldo a produzir ou seja quando o saldo_estoque - saldo_do pedido der zero não preciso produzir nada agora quando for menor que zero eu saberei a diferença a produzir, porém eu preciso do saldo total do pedido, subtraindo apenas uma vez o valor do estoque e não que o valor de saldo_estoque se repita nas linhas pois o valor de estoque é um só, ele se repete por causa dos prazos de entregas diferentes entendeu.
GOSTEI 0
Marcos P

Marcos P

13/03/2015

Não se preocupe com a explicação, apenas preencha os valores na coluna "saldo_produzir" nas três linhas do exemplo abaixo...

cod_item prz_entrega   saldo_pedidos saldo_estoque saldo_produzir
-------- ------------- ------------- ------------- -------------
    4559    20/03/2015           500          1325
    4559    24/03/2015           100          1325
    4559    25/03/2015           450          1325  
GOSTEI 0
Marcos P

Marcos P

13/03/2015

Neto,

Você consegue preencher o exemplo que lhe pedi ou existe algum tipo de erro na definição que lhe passei ?
( ou mesmo na sua definição original... )
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

13/03/2015

Para obter os resultados que você precisa, teria q remover do SELECT a coluna com as datas de prazo de entrega.
Sempre que você incluir esse campo vai acontecer de listar mais de uma linha, e isso não está errado pois são datas diferentes.
Se você fosse listar isso em um relatório, poderia mostrar essas informações utilizando dois selects: o primeiro retornando os valores calculados por item e o segundo retornando os prazos de entrega de cada item.
GOSTEI 0
Marcos P

Marcos P

13/03/2015

Na verdade, imagino que exista um erro na proposição original...

É trivial resolver isso com dois selects ou com uma subquery !

A questão é que, aparentemente, existe um erro na formulação da pergunta original, afinal, o exemplo inicial não deixa claro por quê os dois saldos são iguais ?

Se o Neto preencher o novo exemplo que coloquei, fica mais fácil de ajudá-lo...
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

13/03/2015

Pelo que eu entendi, ele precisa diminuir o saldo de estoque do saldo total dos pedidos. Para obter o saldo total dos pedidos é necessário remover a coluna com os prazos de entrega.
GOSTEI 0
Marcos P

Marcos P

13/03/2015

Acho que nem ele entendeu o que escreveu e pelo jeito, também não está muito preocupado com isso...
GOSTEI 0
Dagoberto Neto

Dagoberto Neto

13/03/2015

Marcos, bom dia desculpe se estou interpretando de uma forma que não esta entendendo, sou um mero iniciante cheio duvidas, por isto estou aqui no fórum, o que eu preciso é o que a Maresiana esta dizendo preciso subtrair o saldo do do estoque - saldo do pedido, porém pelo fato de ter prazos de entregas diferente o valor do saldo de estoque se repete para os prazos de entregas diferente se eu fizer o total do saldo de estoque - saldo do pedido vai distorcer o valor pois o saldo de estoque aparece 3 vezes o valor 1325 sendo que eu preciso que aparece uma única vez.

Mais uma vez me desculpe
GOSTEI 0
Marcos P

Marcos P

13/03/2015

Você consegue preencher um novo exemplo usando o bloco abaixo ?

cod_item prz_entrega   saldo_pedidos saldo_estoque saldo_produzir
-------- ------------- ------------- ------------- -------------
    4559    20/03/2015           500          1325
    4559    24/03/2015           100          1325
    4559    25/03/2015           450          1325  
GOSTEI 0
Dagoberto Neto

Dagoberto Neto

13/03/2015

[img]http://arquivo.devmedia.com.br/forum/imagem/402654-20150319-112737.jpg[/img]

Quando o valor do saldo a produzir for positivo como na imagem eu não preciso produzir, quando der negativo eu preciso produzir.
GOSTEI 0
Marcos P

Marcos P

13/03/2015

Ótimo....

Vou testar aqui e já te mando a query !
GOSTEI 0
Marcos P

Marcos P

13/03/2015

Veja se a nova coluna "Total_Saldo_Pedidos" totaliza os "saldo_pedidos" com o nível de quebra que você precisa...

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
,(SELECT sum(a.qtd_pecas_solic-a.qtd_pecas_atend-a.qtd_pecas_cancel)
  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) as Total_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
,a.prz_entrega
,saldo_estoque

order by c.den_item, a.prz_entrega
GOSTEI 0
Dagoberto Neto

Dagoberto Neto

13/03/2015

Marcos, a coluna total_saldo_pedidos ficou 'NULL'
GOSTEI 0
Dagoberto Neto

Dagoberto Neto

13/03/2015

Desculpe não apareceu 'NULL' não apareceu conforme imagem abaixo.

[img]http://arquivo.devmedia.com.br/forum/imagem/402654-20150319-121137.jpg[/img]
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

13/03/2015

Marcos, bom dia desculpe se estou interpretando de uma forma que não esta entendendo, sou um mero iniciante cheio duvidas, por isto estou aqui no fórum, o que eu preciso é o que a Marisiana esta dizendo preciso subtrair o saldo do do estoque - saldo do pedido, porém pelo fato de ter prazos de entregas diferente o valor do saldo de estoque se repete para os prazos de entregas diferente se eu fizer o total do saldo de estoque - saldo do pedido vai distorcer o valor pois o saldo de estoque aparece 3 vezes o valor 1325 sendo que eu preciso que aparece uma única vez.

Mais uma vez me desculpe

Não se preocupe com isso Neto, estamos aqui para aprender e todos são sempre bem vindos!
Veja se uma solução assim te ajuda... Pode ser que dê erro porque não tenho não tenho como testar aqui...
Eu acho que vai duplicar as linhas, mas vai calcular os valores corretos.

select res.cod_empresa,
     res.cod_item,
     res.den_item,
     res.cod_unid_med,
     res.saldo_estoque,
     res.saldo_pedidos,
     (res.saldo_estoque - res.saldo_pedidos) as diferenca_saldo,
     pi.prz_entrega
from ped_itens pi
join ( SELECT a.cod_empresa,
       a.cod_item,
       c.den_item,
       c.cod_unid_med,
       d.qtd_liberada AS saldo_estoque,
       sum(a.qtd_pecas_solic-a.qtd_pecas_atend-a.qtd_pecas_cancel) as 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 ) res
ON(res.cod_empresa = pi.cod_empresa)
AND(res.cod_item = pi.cod_item)
GOSTEI 0
Marcos P

Marcos P

13/03/2015

Você entendeu a ideia ?

"Total_Saldo_Pedidos" é uma sub-query... ou seja, para cada linha da query principal, vai ser executado um select especifico totalizando "saldo_pedidos".

Entendendo isso, você, que tem a base de dados para testes, consegue trabalhar com a ligação certa dos dados e o nivel de detalhe desejado na totalização !

Tenta assim...

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
,(SELECT sum(a1.qtd_pecas_solic-a1.qtd_pecas_atend-a1.qtd_pecas_cancel)
  FROM ped_itens a1

  JOIN item c1                         ON(c1.cod_empresa = a1.cod_empresa) AND(c1.cod_item = a1.cod_item)
  JOIN estoque d1                      ON(d1.cod_empresa = a1.cod_empresa) AND(d1.cod_item = a1.cod_item)
  JOIN grl_atr_ant_cri_massas_rev01 e1 ON(e1.cod_empresa = a1.cod_empresa) AND(e1.cod_item = a1.cod_item)
 
  WHERE a1.cod_empresa = a.cod_empresa
  AND (a1.qtd_pecas_solic-a1.qtd_pecas_atend-a1.qtd_pecas_cancel) > '0'
  AND c1.ies_situacao = c.ies_situacao
  AND c1.ies_tip_item = c.ies_tip_item
  AND a1.cod_item = a.cod_item

  GROUP BY a1.cod_empresa,a1.cod_item,c1.den_item,c1.cod_unid_med) as Total_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
,a.prz_entrega
,saldo_estoque

order by c.den_item, a.prz_entrega
GOSTEI 0
Dagoberto Neto

Dagoberto Neto

13/03/2015

E nesse caso Marcos...

[img]http://arquivo.devmedia.com.br/forum/imagem/402654-20150319-122408.jpg[/img]




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
,(SELECT sum(a1.qtd_pecas_solic-a1.qtd_pecas_atend-a1.qtd_pecas_cancel)
FROM ped_itens a1

JOIN item c1 ON(c1.cod_empresa = a1.cod_empresa) AND(c1.cod_item = a1.cod_item)
JOIN estoque d1 ON(d1.cod_empresa = a1.cod_empresa) AND(d1.cod_item = a1.cod_item)
JOIN grl_atr_ant_cri_massas_rev01 e1 ON(e1.cod_empresa = a1.cod_empresa) AND(e1.cod_item = a1.cod_item)

WHERE a1.cod_empresa = a.cod_empresa
AND (a1.qtd_pecas_solic-a1.qtd_pecas_atend-a1.qtd_pecas_cancel) > '0'
AND c1.ies_situacao = c.ies_situacao
AND c1.ies_tip_item = c.ies_tip_item
AND a1.cod_item = a.cod_item

GROUP BY a1.cod_empresa,a1.cod_item,c1.den_item,c1.cod_unid_med) as Total_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 = '727'
AND a.prz_entrega = '30-03-2015'

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
GOSTEI 0
Dagoberto Neto

Dagoberto Neto

13/03/2015

Outra coisa, de vez de totalizar os pedidos não tem algo que se possa fazer para a coluna saldo_estoque não se repetir e sim aparecer uma vez só nem que para isso as outras linhas aparecem Null tipo a imagem abaixo.

[img]http://arquivo.devmedia.com.br/forum/imagem/402654-20150319-123615.jpg[/img]
GOSTEI 0
Marcos P

Marcos P

13/03/2015

Você entendeu a ideia geral da subquery ?

A query original é sua ?

Se a resposta a essas duas questões for "sim", você ( que tem a base de dados para testes ), tem total condição de adaptar a subquery para totalizar corretamente "saldo_pedidos".

Uma vez a subquery finalizada para totalizar "saldo_pedidos", você resolveu seu problema, pois a partir de qualquer linha da query principal você consegue fazer a subtração que vai indicar se você precisa, ou não, produzir determinado item...

Analise com calma e trabalhe na subquery.

Senão rolar, tente a solução da Marisiana... afinal, o que importa é resolvermos seu problema !
GOSTEI 0
Marcos P

Marcos P

13/03/2015

Não... existe a possibilidade de aparecer NULL e manter o detalhamento por prz_entrega... conforme a Marisiana já disse antes !

Existe a possibilidade de repetir o "275" o que resolve o problema, conforme expliquei acima...
GOSTEI 0
Marcos P

Marcos P

13/03/2015

E aí ?
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

13/03/2015

Se você fizer aparecer NULL nas demais linhas, na minha opinião, você estará burlando os resultados e mostrando informações erradas.
O ideal é você fazer o calculo correto e trazer todas as informações e depois tratar isso na aplicação, onde você irá criar a visualização desses dados.
GOSTEI 0
Marcos P

Marcos P

13/03/2015

Neto,

Eu não entendo a pessoa que posta uma dúvida qualquer no forum e encontra outras duas pessoas dispostas a ajudar e, simplesmente, não dá retorno algum sobre o que foi postado !

Não entendo...

Espero que você tenha conseguido resolver seu problema e te garanto que da minha parte não rola mais nenhum ajuda !
GOSTEI 0
Marisiana Battistella

Marisiana Battistella

13/03/2015

Neto, você conseguiu executar o SQL que te passei à cima, mostrando os valores calculados?
GOSTEI 0
POSTAR