Como fazer LEFT JOIN pegando o ultimo registro de data

Filial Destino (RE_FILIALP): serão gerados dados apenas para colaboradores, que atendam a situação de Transferidos. Deverá posicionar no ultimo registro da matricula (considerar RA_FILIAL + RA_MAT, posicionando na RE_FILIAL + RE_MATD), para determinar qual é o ultimo registro validar a data mais próxima a data informada no parâmetro desse relatório "Data até", considerando campo "Dt Transfer" (RE_DATA).

FROM 
    SRA010 RA
    LEFT JOIN SR8010 R8 ON R8_FILIAL = RA_FILIAL AND R8_MAT = RA_MAT AND R8.D_E_L_E_T_ = '' AND GETDATE() BETWEEN R8_DATAINI AND R8_DATAFIM
    --LEFT JOIN SRE010 RE ON RA_FILIAL = RE_FILIALP AND RE_MATD = RA_MAT AND RE.D_E_L_E_T_ = '' AND GETDATE() BETWEEN RE_DATA and RE_DATA
    LEFT JOIN SRE010 RE ON RE_FILIALP = RA_FILIAL AND RE_MATD = RA_MAT AND RE.D_E_L_E_T_ = ' ' AND MAX(RE.RE_DATA) BETWEEN 'cDataIni' AND 'cDataFim' AND GETDATE() = '' 
    --LEFT JOIN SRE010 RE ON RA_FILIAL = RE_FILIALP AND RE_MATD = RA_MAT AND RE.D_E_L_E_T_ = '' AND RA_SITFOLH = 'Transferido' AND RE_DATA <= GETDATE()
compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

3 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags sql ou faça a sua própria pergunta.