locked
Super SQL RRS feed

  • Pergunta

  • Olá Pessoal alguém pode me ajudar a fazer uma função SQL,

    Disponibilizei um MDB de teste no link abaixo,

    http://cid-0028b9ce566720c5.office.live.com/self.aspx/SQL-Access/BD%5E_Check.mdb

    Eu tenho três consultas.

    sql = "SELECT Responsavel, Count(*) FROM BD WHERE (Status='ON TIME' OR Status='EARLY' OR Status='LATE') AND Periodo = 'P08' GROUP BY Responsavel;"

    sql = "SELECT Responsavel, Count(Atividade) FROM BD WHERE Periodo = 'P08'  GROUP BY Responsavel;"


    sql = "SELECT Responsavel, Count(*) FROM BD WHERE Status Is Null AND BD.Prazo IN ('D+1,D+2,D+3,D+4') GROUP BY Responsavel;"

     

    Gostaria de que realizar um único SQL com os seguintes resultados

     

    Todos

    C/ Status

    S/ Status

    Atrasos com D+4 para menos

    VAGO

    24

    23

    1

    0

    ANELISE

    33

    23

    7

    3

    CLÁUDIA

    31

    31

    0

    0

    WILLI

    20

    13

    4

    3

     

    Abraços a todos!


    Baldini Fabio
    sexta-feira, 3 de setembro de 2010 00:00

Respostas

  • Olá Baldini,

     

    você pode usar a seguinte query:

     

    SELECT BD.Responsavel,

    Count(BD.Atividade) AS Todos,

    Sum(IIf(IsNull([Status])=False,1,0)) AS Com_Status,

    Sum(IIf(IsNull([Status])=True,1,0)) AS Sem_Status,

    Sum(IIf([Prazo] IN ("D+1","D+2","D+3","D+4") And IsNull([Status]=True),1,0)) AS Atrasos_DM4

    FROM BD

    GROUP BY BD.Responsavel;



    Luiz Cláudio Cosenza Vieira da Rocha - http://msmvps.com/blogs/officedev - IT Lab www.itlab.com.br
    domingo, 5 de setembro de 2010 03:07
    Moderador
  • Olá Luiz não deu certo mais obrigado pela SQL que utilizei em outros lugares,

     

    Abraços!


    Baldini Fabio
    • Marcado como Resposta Baldini quarta-feira, 15 de setembro de 2010 03:13
    quarta-feira, 15 de setembro de 2010 03:13

Todas as Respostas

  • Olá Baldini,

     

    você pode usar a seguinte query:

     

    SELECT BD.Responsavel,

    Count(BD.Atividade) AS Todos,

    Sum(IIf(IsNull([Status])=False,1,0)) AS Com_Status,

    Sum(IIf(IsNull([Status])=True,1,0)) AS Sem_Status,

    Sum(IIf([Prazo] IN ("D+1","D+2","D+3","D+4") And IsNull([Status]=True),1,0)) AS Atrasos_DM4

    FROM BD

    GROUP BY BD.Responsavel;



    Luiz Cláudio Cosenza Vieira da Rocha - http://msmvps.com/blogs/officedev - IT Lab www.itlab.com.br
    domingo, 5 de setembro de 2010 03:07
    Moderador
  • Olá Luiz não deu certo mais obrigado pela SQL que utilizei em outros lugares,

     

    Abraços!


    Baldini Fabio
    • Marcado como Resposta Baldini quarta-feira, 15 de setembro de 2010 03:13
    quarta-feira, 15 de setembro de 2010 03:13
  • Olá,

     

    aqui funcionou normalmente. Se quiser, posso mandar para seu e-mail.


    Luiz Cláudio Cosenza Vieira da Rocha - http://msmvps.com/blogs/officedev - IT Lab www.itlab.com.br
    quinta-feira, 16 de setembro de 2010 05:20
    Moderador
  • Luiz o SQL funcionou mais a resposta que não deu certo,

    Mas obrigado pela ajuda,


    Baldini Fabio
    domingo, 10 de outubro de 2010 18:12