Query complicada

Delphi

12/09/2005

Tenho duas tabelas, uma com os dados cadastrais dos funcionários e outra com os dados ref. a afastamentos. Ou seja, para cada funcionário vc poderá ter ´n´ afastamentos. A pergunta é a seguinte, como listar os funcionários por tipo de situação e ainda por tipo de afastamento sendo que no tipo de afastamento o registro a ser posicionado seria o último registro daquela matrícula na tabela afastamento, seria alguma coisa desse tipo:

 SELECT A.RA_MAT,A.RA_NOME,A.RA_SITFOLH,B.R8_MAT,B.R8_DATAINI,B.R8_DATAFIM,B.R8_TIPO FROM SRA010 A, SR8010 B WHERE A.RA_SITFOLH=´A´ AND A.RA_MAT=B.(SELECT R8_MAT FROM SR8010 WHERE MAX(DATAINI)) AND B.TIPOAFAST=´F´ ORDER BY A.RA_MAT



Rogerio_amorim

Rogerio_amorim

Curtidas 0

Respostas

Rogerio_amorim

Rogerio_amorim

12/09/2005

Depois de vários testes consegui o resultado esperado:
SELECT A.RA_MAT,A.RA_NOME,A.RA_SITFOLH,B.R8_MAT,B.R8_DATAINI,B.R8_DATAFIM,B.R8_TIPO FROM SRA010 A, SR8010 B WHERE A.RA_SITFOLH=´A´ AND A.RA_MAT=B.R8_MAT AND B.R8_TIPO<>´´ AND B.R8_DATAINI=(SELECT MAX(C.R8_DATAINI) FROM SR8010 C WHERE B.R8_MAT=C.R8_MAT) ORDER BY A.RA_MAT



GOSTEI 0
POSTAR