none
Duvida Transact RRS feed

  • Pergunta

  • Pessoal,

    tenho uma seguinte query onde eu listo todos os pedidos com seus valores para cada CNPJ . 

    O que eu preciso é trazer o valor total dos pedidos para cada CNPJ, porem mesmo com a clausula HAVING ele me traz registros duplicados.

    select  PV.Pedvendanum,
            E.Entcod,
            E.Entnome,
            e.EntCpfCgc,
        SUM    (PV.PedVendaValMerc) as Total
    from ped_venda as PV
            inner join entidade as E
                on PV.entcod = E.entcod

    Where entcpfcgc IN ('0000000000000', '1111111111111', '222222222222222',
    '33333333333333', '4444444444444', '5555555555555', '6666666666666666')  

    group by PV.Pedvendanum,E.Entcod,E.Entnome,e.EntCpfCgc

    HAVING Sum(PedVendaValMerc) > 0

    0000575    GE WATER & PROCESS TECHNOL  DO BRAS LTDA    0000000000000     9000.00
    0000575    GE WATER & PROCESS TECHNOL  DO BRAS LTDA    0000000000000     7978.11
    0001107    DU PONT DO BRASIL S/A                                         1111111111111      2988.00
    0001107    DU PONT DO BRASIL S/A                                         1111111111111      4778.00
    0001107    DU PONT DO BRASIL S/A                                         1111111111111      502.45
    0001107    DU PONT DO BRASIL S/A                                         1111111111111      1711.00
    0001107    DU PONT DO BRASIL S/A                                         1111111111111      5698.00



    segunda-feira, 9 de abril de 2012 15:29

Respostas

  • Boa tarde,

    Renata,

    O problema não é a clausula HAVING, assim como o Adriano, também reparei que você está retornando e agrupando pelo número do pedido de venda, apesar de você não ter postado este dado nos seus resultados, provavelmente o "problema" está ai.

    Verifique se estão retornando números de pedidos de vendas distintos para cada um dos registros "duplicados", pois repare que os valores retornados também são diferentes e provavelmente são referentes a cada um desses pedidos.

    Caso você queira retornar o valor total dos pedidos de venda para cada cliente, tente fazer desta forma:

    SELECT        PV.Pedvendanum,E.Entcod,E.Entnome,E.EntCpfCgc,SUM(PV.PedVendaValMerc) AS Total
    FROM        ped_venda    AS    PV
    INNER JOIN    entidade    AS    E
    ON            PV.entcod    =    E.entcod
    WHERE        E.entcpfcgc    IN    ('0000000000000', '1111111111111', '222222222222222','33333333333333', '4444444444444', '5555555555555', '6666666666666666')  
    GROUP BY    PV.Pedvendanum,E.Entcod,E.Entnome,e.EntCpfCgc
    HAVING        SUM(PV.PedVendaValMerc) > 0

    Att,


    Rafael Godoi Sabadin
    http://www.linkedin.com/in/rafaelgodoisabadin


    Classifique as respostas. O seu feedback é essencial.

    segunda-feira, 9 de abril de 2012 16:55

Todas as Respostas

  • Boa tarde Renata,

    Pelo que entendi do seu resultado( conforme você moostrou acima) me parece que só retornou 4 colunas de dados, sendo que o select solicita 5.

    Neste caso a outra coluna ( acho que a coluna PEDVENDANUM ) esta com dados nulos?

    Abçs,

    Adriano

    segunda-feira, 9 de abril de 2012 16:22
  • Boa tarde,

    Renata,

    O problema não é a clausula HAVING, assim como o Adriano, também reparei que você está retornando e agrupando pelo número do pedido de venda, apesar de você não ter postado este dado nos seus resultados, provavelmente o "problema" está ai.

    Verifique se estão retornando números de pedidos de vendas distintos para cada um dos registros "duplicados", pois repare que os valores retornados também são diferentes e provavelmente são referentes a cada um desses pedidos.

    Caso você queira retornar o valor total dos pedidos de venda para cada cliente, tente fazer desta forma:

    SELECT        PV.Pedvendanum,E.Entcod,E.Entnome,E.EntCpfCgc,SUM(PV.PedVendaValMerc) AS Total
    FROM        ped_venda    AS    PV
    INNER JOIN    entidade    AS    E
    ON            PV.entcod    =    E.entcod
    WHERE        E.entcpfcgc    IN    ('0000000000000', '1111111111111', '222222222222222','33333333333333', '4444444444444', '5555555555555', '6666666666666666')  
    GROUP BY    PV.Pedvendanum,E.Entcod,E.Entnome,e.EntCpfCgc
    HAVING        SUM(PV.PedVendaValMerc) > 0

    Att,


    Rafael Godoi Sabadin
    http://www.linkedin.com/in/rafaelgodoisabadin


    Classifique as respostas. O seu feedback é essencial.

    segunda-feira, 9 de abril de 2012 16:55