RODOU MAS,NOVAMENTE "TEMPO TOTAL" TODOS ZERADOS. QUANDO USA 'SUBTIME' DA RESULTADO 'NULL'. CREATE TABLE `historico_bagagem` (
`ID` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
`DH_MOVIMENTO` DATETIME NULL DEFAULT NULL,
`LOCAL_H_ID` BIGINT(20) UNSIGNED NOT NULL,
`BAGAGEM_H_ID` BIGINT(20) UNSIGNED NOT NULL,
PRIMARY KEY (`ID`),
INDEX `LOCAL_H_ID` (`LOCAL_H_ID`),
INDEX `BAGAGEM_H_ID` (`BAGAGEM_H_ID`),
CONSTRAINT `BAGAGEM_H_ID` FOREIGN KEY (`BAGAGEM_H_ID`) REFERENCES `bagagem` (`ID`),
CONSTRAINT `LOCAL_H_ID` FOREIGN KEY (`LOCAL_H_ID`) REFERENCES `local` (`ID`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB
ROW_FORMAT=DEFAULT
AUTO_INCREMENT=11
-----------------------------------------------------------
select b.NOME_PASSAGEIRO,
c.DESCRICAO AS 'LOCAL',
DATE(h.DH_MOVIMENTO) AS 'DATA_MOVIMENTO',
h1.HORA_INICIAL,
h2.HORA_FINAL,
TIMEDIFF(h2.HORA_FINAL, h1.HORA_INICIAL) AS 'TEMPO_TOTAL'
FROM historico_bagagem h
INNER JOIN bagagem b ON b.ID = h.BAGAGEM_H_ID
INNER JOIN local c ON c.ID = h.LOCAL_H_ID
INNER JOIN (
SELECT hb1.ID, MIN(hb1.`DH_MOVIMENTO`) AS 'HORA_INICIAL'
FROM historico_bagagem hb1
GROUP BY hb1.ID) h1 ON h1.ID = h.ID
INNER JOIN (
SELECT hb2.ID, MAX(hb2.`DH_MOVIMENTO`) AS 'HORA_FINAL'
FROM historico_bagagem hb2
GROUP BY hb2.ID) h2 ON h2.ID = h.ID;