Boa noite pessoal.
Estou com um problema e não consegui sair do lugar, tenho uma tabela de documentos (id, doc, path, ext, id_cli) e outra tabela de controle contendo o Id_documento, tipo_doc, data_criacao.
Preciso informar se o documento listado ja foi substituído.
A regra é a seguinte: Para o documento de mesmo cliente e mesmo tipo ele compara as datas alimentando a coluna de status para o mais recente e substituído par os demais.
Segue o código para ajuda.
create table `tb_documento` (
`ID_DOCUMENTO` int (11),
`DOCUMENTO` varchar (60),
`PATH` varchar (60),
`EXTENCAO` varchar (15),
`ID_CLIENTE` int (11)
);
insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('1','TESTE1','C:\\DOCUMENTOS','PDF','1');
insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('2','TESTE DOC','C:\\DOCUMENTOS','XLS','1');
insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('3','ASLJDBASIHD','C:\\DOCUMENTOS','XLS','1');
insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('4','EXTREME','C:\\DOCUMENTOS','PDF','1');
insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('5','TESTE NOVO','C:\\DOCUMENTOS','DOC','2');
insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('6','WIN','C:\\DOCUMENTOS','DOC','2');
insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('7','XTREME','C:\\DOCUMENTOS','PDF','2');
insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('8','SAMSUNG','C:\\DOCUMENTOS','XLS','2');
insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('9','CPD','C:\\DOCUMENTOS','DOC','3');
insert into `tb_documento` (`ID_DOCUMENTO`, `DOCUMENTO`, `PATH`, `EXTENCAO`, `ID_CLIENTE`) values('10','QQWAS','C:\\DOCUMENTOS','PDF','4');
-------------------------------------------------------------------------------------
create table `tb_tipo_documento` (
`ID_TIPO` int (11),
`ID_DOCUMENTO` int (11),
`DATA_CRIACAO` datetime
);
insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('1','1','2019-06-23 18:18:15');
insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('3','2','2019-06-24 18:19:52');
insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('2','3','2019-06-19 18:20:22');
insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('4','9','2019-06-11 18:31:21');
insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('4','10','2019-06-07 18:31:44');
insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('5','5','2019-06-26 18:32:15');
insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('1','4','2019-06-03 18:32:21');
insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('1','6','2019-06-01 18:36:17');
insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('3','7','2019-06-14 18:36:35');
insert into `tb_tipo_documento` (`ID_TIPO`, `ID_DOCUMENTO`, `DATA_CRIACAO`) values('1','8','2019-06-20 18:36:59');
------------------------------------------------------------------------
Modelo de resultado esperado:
SELECT
TD.*,
TTP.ID_TIPO,
TTP.DATA_CRIACAO,
'' AS 'STATUS'
FROM
TB_DOCUMENTO TD
LEFT JOIN
TB_TIPO_DOCUMENTO TTP ON TTP.ID_DOCUMENTO = TD.ID_DOCUMENTO;
----------------------------------------------------------------------
Pessoal muito obrigado, qualquer ajuda é bem vinda!