none
Dúvidas numa query RRS feed

  • Pergunta

  • Olá,

    Tenho uma tabela ferias com um registo assim(exemplo.)

    id dia1 dia2 dia3 dia4

    x   xx   xx    xx    xx

    Como faço para contar o numero de dias no mesmo registo entre duas datas.


    • Editado DiogoMBM terça-feira, 11 de junho de 2013 11:41
    terça-feira, 11 de junho de 2013 11:40

Todas as Respostas

  • Olá Diogo, desculpa não entendi muito bem não.

    Acredito que você poderia fazer assim:

    SELECT
         id,
         COUNT (dia1) AS 'Dias'
    FROM
         Suatabela

    Ou

    SELECT
         id,
         COUNT (dia1) AS 'Dias'
    FROM
         SuaTabela01 Tb1
    INNER JON
         SuaTabela02 Tb2
    ON
         Tb1.id = Tb2.id
    Espero que eu tenha te ajudado, abração

    Wellinghton Pimentel Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    terça-feira, 11 de junho de 2013 11:59
  • Quero contar todos os campos de um registo da tabela.

    Por exemplo

    Id dia1 dia2 dia3 dia4

    x   xx   xx    xx    xx

    Quro fazer um select count a todos os campos dia dia entre duas datas.

    terça-feira, 11 de junho de 2013 12:32
  • Já descobri uma maneira.

    Agora tenho outra duvida.

    Como faço para veerificar se os campos dia1, dia2, etc. estão diferentes de null.

    Só consegui com um

    SELECT count(*) FROM mferias where dia1 is not Null


    • Editado DiogoMBM terça-feira, 11 de junho de 2013 12:53
    terça-feira, 11 de junho de 2013 12:53
  • Ah sim diogo, exatamente, pensei que você estivesse querendo contar a quantidade de dias, que bom que conseguiu resolver.

    Abração


    Wellinghton Pimentel Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    terça-feira, 11 de junho de 2013 13:04
  • Não consegui. Só consegui para 1. Eu quero para os 22 dias de ferias.
    terça-feira, 11 de junho de 2013 13:08
  • Boa tarde,

    Diogo, você pode postar algumas linhas dessa tabela com os valores reais e o respectivo resultado que deveria ser retornado pela consulta?

    Acho que assim ficaria mais fácil de entendermos a sua questão.


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

    terça-feira, 11 de junho de 2013 17:37
  • dia1               dia2             dia3             dia4                 dia5             dia6 ....

    2013-06-01  2013-06-02 2013-06-03 2013-06-04   2013-06-05  2013-06-06


    resultado = 5 se for is not null

    dia1               dia2             dia3             dia4                 dia5             dia6 ....

    2013-06-01                     2013-06-03 2013-06-04   2013-06-05  2013-06-06

    resultado = 1 se for null

    terça-feira, 11 de junho de 2013 17:52
  • Experimente com is not null:

    SELECT 
        case when dia1 is not null then 1 else 0 end +
        case when dia2 is not null then 1 else 0 end +
        case when dia3 is not null then 1 else 0 end +
        case when dia4 is not null then 1 else 0 end +
        case when dia5 is not null then 1 else 0 end +
        case when dia6 is not null then 1 else 0 end
    FROM mferias
    

    e para null basta tirar o not do script acima.

    Espero que ajude.


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

    terça-feira, 11 de junho de 2013 19:01
  • Deleted
    terça-feira, 11 de junho de 2013 21:46