none
Select buscando quem esta a mais de 10 dias sem acesso RRS feed

  • Pergunta

  • Tenho a tabela Acesso que tenho os campos ( id, id_pessoa, data, hora ) quero que se o ultimo acesso da pessoa for >= 10 dias o a pessoa aparecera no select

    Atenciosamente,
    José Henrique Sabino

    quarta-feira, 26 de agosto de 2015 11:54

Respostas

  • Bom dia,

    José, experimente mais ou menos dessa forma:

    select
        p.*
    From Pessoas as p
    where
        not exists 
            (select 1 from Acesso as a
             where 
                 a.id_pessoa = p.id_pessoa and
                 a.data > CAST(DATEADD(DAY, -10, CURRENT_TIMESTAMP) AS DATE))

    Espero que ajude.


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

    • Marcado como Resposta Xarp2 quarta-feira, 26 de agosto de 2015 17:19
    quarta-feira, 26 de agosto de 2015 14:48

Todas as Respostas

  • Olá, José.

    Pelo que entendi, basta comparar a data da tabela com a data atual subtraída de 10 dias.

    Seria algo assim:

    SELECT
      Id, ID_PESSOA, DATA, HORA
    FROM
      ACESSO
    WHERE
      DATA <= GETDATE() - 10


    Joel Rodrigues MSP, MCP, MTA. Editor geral .NET Magazine e Easy .NET Magazine

    • Sugerido como Resposta Rodrigo CdS quarta-feira, 26 de agosto de 2015 15:42
    quarta-feira, 26 de agosto de 2015 13:45
  • o LEGAL É QUE PODE CRIAR UM CURSOR. ENTÃO VEJA A DICA

      DECLARE @IDPESSOA INT, @DATA DATETIME
      
      SET @IDPESSOA = 2
      SELECT @DATA = MAX(DATA) FROM ACESSO WHERE ID_PESSOA = ID_PESSOA
      
      IF(@DATA >= GETDATE()-10)
      BEGIN
         PRINT 'ID_PESSOA'
      END
      ELSE 
      BEGIN
         PRINT 'ACESSO ABAIXO DE 10'
      END
    • Editado jmarqDeveloper quarta-feira, 26 de agosto de 2015 14:03 CERTO
    quarta-feira, 26 de agosto de 2015 14:02
  • Bom dia,

    José, experimente mais ou menos dessa forma:

    select
        p.*
    From Pessoas as p
    where
        not exists 
            (select 1 from Acesso as a
             where 
                 a.id_pessoa = p.id_pessoa and
                 a.data > CAST(DATEADD(DAY, -10, CURRENT_TIMESTAMP) AS DATE))

    Espero que ajude.


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

    • Marcado como Resposta Xarp2 quarta-feira, 26 de agosto de 2015 17:19
    quarta-feira, 26 de agosto de 2015 14:48