none
DOIS SELECT RRS feed

  • Pergunta

  • SELECT C2.R_E_C_N_O_,
    C2_FILIAL,
    C2_EMISSAO,
    C2_PRODUTO,
    SUM(C2_QUANT) AS QtdOrdemProducao
    ,SUM(C2_QUANT) OVER (PARTITION BY NULL ORDER BY C2.R_E_C_N_O_  ROWS BETWEEN unbounded preceding AND CURRENT ROW) AS Acumulado,
    B2_QATU,
    B2_QATU + SUM(C2_QUANT) AS PRODUÇÃO
    FROM SC2200 C2
    INNER JOIN SB2200 B2 ON C2_FILIAL = B2_FILIAL AND C2_LOCAL = B2_LOCAL AND C2_PRODUTO = B2_COD AND  B2.D_E_L_E_T_ <> '*'    
    WHERE C2_EMISSAO >= '20160824' AND  C2.D_E_L_E_T_ <> '*' AND C2_PRODUTO = '030900001' 
    GROUP BY C2_EMISSAO,C2_PRODUTO,C2_FILIAL,B2_QATU,C2_QUANT,C2.R_E_C_N_O_

    estou precisando  acrescentar esse select abaixo no select acima

    SELECT C6_EMISSAO,C6_NUM,C6_CLIENTE,
    SUM(C6_QTDVEN) 
    FROM SC6200 WHERE C6_EMISSAO = '20160824'
    GROUP BY C6_EMISSAO,C6_NUM,C6_CLIENTE

    quarta-feira, 24 de agosto de 2016 19:46

Respostas

  • Não cheguei a testar, mas deve funcionar.

    SELECT C2.R_E_C_N_O_,
    C2_FILIAL,
    C2_EMISSAO,
    C2_PRODUTO,
    SUM(C2_QUANT) AS QtdOrdemProducao
    ,SUM(C2_QUANT) OVER (PARTITION BY NULL ORDER BY C2.R_E_C_N_O_  ROWS BETWEEN unbounded preceding AND CURRENT ROW) AS Acumulado,
    B2_QATU,
    B2_QATU + SUM(C2_QUANT) AS PRODUÇÃO,
    SUM(ISNULL(C6_QTDVEN,0)) AS VENDA
    FROM SC2200 C2
    INNER JOIN SB2200 B2 ON C2_FILIAL = B2_FILIAL AND C2_LOCAL = B2_LOCAL AND C2_PRODUTO = B2_COD AND  B2.D_E_L_E_T_ <> '*'    
    FULL OUTER JOIN SC6200 C6 ON C6_EMISSAO = C2_EMISSAO AND C6.D_E_L_E_T_ <> '*' AND C6_FILIAL = C2_FILIAL AND C6_PRODUTO = C2_PRODUTO
    WHERE C2_EMISSAO >= '20160824' AND  C2.D_E_L_E_T_ <> '*' AND C2_PRODUTO = '030900001' 
    GROUP BY C2_EMISSAO,C2_PRODUTO,C2_FILIAL,B2_QATU,C2_QUANT,C2.R_E_C_N_O_, C6_QTDVEN

    Talvez você precise tratar os campos da C2 E B2 com IsNull por conta do full outer join, mas realize um teste.

    Qualquer coisa posta ai.

    Abraço!


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski

    quinta-feira, 25 de agosto de 2016 14:16

Todas as Respostas

  • Consegui fazer dessa maneira, mas preciso relacionar um campo do SELECT QTD VENDA com os SELECT GERAL:

    C6_ENTREG = C2_EMISSAO
    
    
    
    SELECT C2.R_E_C_N_O_,
     C2_FILIAL,
     C2_EMISSAO,
     C2_PRODUTO,
     SUM(C2_QUANT) AS QtdOrdemProducao
     ,SUM(C2_QUANT) OVER (PARTITION BY NULL ORDER BY C2.R_E_C_N_O_  ROWS BETWEEN unbounded preceding AND CURRENT ROW) AS Acumulado,
     B2_QATU,
     B2_QATU + SUM(C2_QUANT) AS PRODUÇÃO,
     QtdVenda = (SELECT 
     SUM(C6_QTDVEN) 
     FROM SC6200 WHERE C6_NUM = '080469'AND SC6200.D_E_L_E_T_ <> '*'
     GROUP BY C6_ENTREG,C6_NUM,C6_CLI)
     FROM SC2200 C2
     INNER JOIN SB2200 B2 ON C2_FILIAL = B2_FILIAL AND C2_LOCAL = B2_LOCAL AND C2_PRODUTO = B2_COD AND  B2.D_E_L_E_T_ <> '*'    
     WHERE C2_EMISSAO >= '20160824' AND  C2.D_E_L_E_T_ <> '*' AND C2_PRODUTO = '030900001' AND C6_ENTREG = C2_EMISSAO
     GROUP BY C2_EMISSAO,C2_PRODUTO,C2_FILIAL,B2_QATU,C2_QUANT,C2.R_E_C_N_O_ 
    

    quarta-feira, 24 de agosto de 2016 20:07
  • Deleted
    quarta-feira, 24 de agosto de 2016 21:51
  • quinta-feira, 25 de agosto de 2016 11:14
  • Bom dia Gildo,

    Você precisa comparar as OPs com a Qtde do pedido de venda do Protheus, é isso?


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski

    quinta-feira, 25 de agosto de 2016 12:30
  • A nossa ordem de produção não esta vinculado ao pedidos. O pessoal da produção solicitou uma plnailha para poder fazer o planejamento da semana. vou pegar o saldo inicial + ordem de produção- as vendas do dia por produto

    vai me dar o saldo final do dia

     
    quinta-feira, 25 de agosto de 2016 13:32
  • Não cheguei a testar, mas deve funcionar.

    SELECT C2.R_E_C_N_O_,
    C2_FILIAL,
    C2_EMISSAO,
    C2_PRODUTO,
    SUM(C2_QUANT) AS QtdOrdemProducao
    ,SUM(C2_QUANT) OVER (PARTITION BY NULL ORDER BY C2.R_E_C_N_O_  ROWS BETWEEN unbounded preceding AND CURRENT ROW) AS Acumulado,
    B2_QATU,
    B2_QATU + SUM(C2_QUANT) AS PRODUÇÃO,
    SUM(ISNULL(C6_QTDVEN,0)) AS VENDA
    FROM SC2200 C2
    INNER JOIN SB2200 B2 ON C2_FILIAL = B2_FILIAL AND C2_LOCAL = B2_LOCAL AND C2_PRODUTO = B2_COD AND  B2.D_E_L_E_T_ <> '*'    
    FULL OUTER JOIN SC6200 C6 ON C6_EMISSAO = C2_EMISSAO AND C6.D_E_L_E_T_ <> '*' AND C6_FILIAL = C2_FILIAL AND C6_PRODUTO = C2_PRODUTO
    WHERE C2_EMISSAO >= '20160824' AND  C2.D_E_L_E_T_ <> '*' AND C2_PRODUTO = '030900001' 
    GROUP BY C2_EMISSAO,C2_PRODUTO,C2_FILIAL,B2_QATU,C2_QUANT,C2.R_E_C_N_O_, C6_QTDVEN

    Talvez você precise tratar os campos da C2 E B2 com IsNull por conta do full outer join, mas realize um teste.

    Qualquer coisa posta ai.

    Abraço!


    "A vida é um paraíso, mas os homens não o sabem e não se preocupam em sabê-lo." Fiodor Dostoievski

    quinta-feira, 25 de agosto de 2016 14:16
  • Bom dia,

    Devido a falta de resposta do usuário

    essa thread está sendo fechada.

    Se o problema ainda estiver ocorrendo,

    favor abrir uma nova thread.

    Atenciosamente,


    Robson William Silva

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 29 de agosto de 2016 12:11