locked
Como retornar valor já somando usando Count no Select RRS feed

  • Pergunta

  • Olá pessoal, Boa tarde!

    Venho pedir ajuda a vocês, pois estou com urgência em uma demanda de relatórios a desenvolver para entregar.

    Estou precisando fazer uma consulta que verifique se em uma Nota Fiscal contêm mais de 1 Item, e depois contar(somar)

    Ex: Tenho NF1 com 2 itens, NF2 com 5 itens e NF3 com 1 item, então, preciso que esse campo me retorne a soma do resultado = 2, Pois é o número de NF que contêm mais de 2 Itens.

    Segue consulta dos campos que estou tentando retornar com esses valores: 

    select ....

    (select case when (count (*))>1 then (1) 
    else 0 end from movimentoitem
    where movimentoitem.ORDEMMOVIMENTO=a.ORDEMMOVIMENTO) as NFQuantidadeMaior2Itens,

    (select case when (count (*))<=1 then (1) 
    else 0 end from movimentoitem
    where movimentoitem.ORDEMMOVIMENTO=a.ORDEMMOVIMENTO) as NFQuantidadeMenor2Itens,

    (select case when (count (*))>1 then (1)
    else 0 end from movimentoitem
    where movimentoitem.ORDEMMOVIMENTO=a.ORDEMMOVIMENTO)+
    (select case when (count (*))<=1 then (1)
    else 0 end from movimentoitem

    Sobre o exemplo que citei, os campos devem retornar esses valores:

    NF>2Itens     NF<2      TOTAL

      2                    1               3

    sexta-feira, 5 de dezembro de 2014 19:12

Respostas

  • Boa tarde,

    Experimente dessa forma:

    with CTE_QtdItens as
    (
        select
            ordemmovimento,
            count(*) as QtdItens
        from movimentoitem
        group by
            ordemmovimento
    )
    
    select
        count(case when QtdItens > 1 then 1 end) as NFQuantidadeMaior2Itens,
        count(case when QtdItens <= 1 then 1 end) as NFQuantidadeMenor2Itens,
        count(*) as Total
    from CTE_QtdItens

    Espero que ajude.


    Assinatura: http://www.imoveisemexposicao.com.br

    • Marcado como Resposta Yago R0drigues sábado, 6 de dezembro de 2014 04:13
    sexta-feira, 5 de dezembro de 2014 19:29