Fórum Sql com Group By #59716

05/05/2008

0

Olá a todos.
Uso Delphi 7 + Firebird 1.5

Preciso agrupar num só registro as entradas e saidas do produto de um mesmo lote de produção e esta retornando mais de uma linha numa linha o total de entradas e na outra o total de saidas.
As informações são extraidas de duas tabelas diferentes usando UNION.
Abaixo está o código que estou usando.


SELECT MVE_LOTESERIAL LOTE,
  PRD_PN PN,
  MVE_DATADOCTO DATA,
    sum(case when Mve_Operacao=´E´ then Mve_Qtde else 0 end) TotEntrada,
    sum(case when Mve_Operacao=´S´ and Tpf_Cod <> ´03´ then Mve_Qtde else 0 end) TotSaida
      FROM ESTOQUE
        WHERE PRD_PN = ´T-AA´
          AND MVE_LOTESERIAL = ´A701´
            GROUP BY 1,2,3
UNION

SELECT MVE_LOTESERIAL LOTE,
  mve_partnumbermp PN,
  MVE_DATADOCTO DATA,
    sum(case when Mve_Operacao=´E´ then Mve_Qtde else 0 end) TotEntrada,
    sum(case when Mve_Operacao=´S´ and Tpf_Cod = ´03´ then Mve_QtdeTotalMP end) TotSaida
      FROM ESTOQUE
        WHERE MVE_PARTNUMBERMP = ´T-AA´
          AND MVE_LOTESERIAL = ´A701´
            GROUP BY 1,2,3

UNION

SELECT MCJ_LOTESERIAL LOTE,
  MCJ_PARTNUMBER PN,
  MCJ_DATADOCTO DATA,
    SUM(MCJ_QTDE-MCJ_QTDE) TOTENTRADA,
    SUM(MCJ_QTDE) TOTSAIDA
      FROM ESTOQUECONJUNTO
        WHERE MCJ_PARTNUMBER = ´T-AA´
          AND MCJ_LOTESERIAL = ´A701´
            GROUP BY 1,2,3
              ORDER BY 3,1


Agradeço desde já a qualquer ajuda
Abraços
Neto


Neto

Neto

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar