none
Ultima marcação do Status RRS feed

  • Pergunta

  • Bom dia.

    Preciso de uma ajuda.

    Tenho uma tabela com controle de analise os seguintes campos:

    CONTRATO - (texo)

    CPF - (texto)

    DATA - (data e hora)

    STATUS - (texto com duas opções - PROCEDENTE E IMPROCEDENTE).

    O campo CONTRATO e CPF se repete várias vezes, porem com DATAS e STATUS diferentes.

    O que eu preciso, somente os CONTRATOS/CPF que em um primeiro momento tiveram STATUS PROCEDENTE e depois viraram STATUS IMPROCEDENTE.

    Obrigado.

    segunda-feira, 13 de março de 2017 12:03

Todas as Respostas

  • Bom dia,

    Experimente mais ou menos dessa forma para ver se é obtido o resultado esperado:

    select
        t.Contrato,
        t.CPF
    from Tabela as t
    where
        t.Status = 'PROCEDENTE' and
        exists 
            (select 1 from Tabela as s
             where 
                 s.Contrato = t.Contrato and
                 s.CPF = t.CPF and
                 s.Data > t.Data)
    

    Espero que ajude


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

    segunda-feira, 13 de março de 2017 12:43
  • Funcionou parcialmente, inclui mais uma condição:

    select t.Contrato, t.CPF from Tabela as t where t.Status = 'PROCEDENTE' and exists (select 1 from Tabela as s where s.Contrato = t.Contrato and s.CPF = t.CPF and s.Data > t.Data and s.Status = 'IMPROCEDENTE'

    )

    Ele funcionou quando existe 2 repetições de CPF/CONTRATO, mas quando ele tem mais que duas repetições não rola:

    CONTRATOCPF DATASTATUS
    1237414846621202015-11-27 11:02:45.007IMPROCEDENTE
    1237414846621202016-04-22 12:26:39.803PROCEDENTE
    1237414846621202016-05-17 16:05:12.340IMPROCEDENTE
    1237414846621202016-06-02 17:20:24.693PROCEDENTE

    segunda-feira, 13 de março de 2017 15:37
  • Experimente acrescentar o Distinct após o primeiro Select.

    Espero que ajude


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

    segunda-feira, 13 de março de 2017 17:29