ciao fm05

prova con una tab temporanea
crea una terza tabella uguale alle precedenti
chiamiamola tab3

poi esegui questa query di inserimento

INSERT INTO tab3 (SELECT * FROM tab1) UNION (SELECT * FROM tab2);

a questo punto la tab3 dovrebbe contenere tutti i dati della tab1 + i dati della tab2
ora esegui la tua query su tab3

SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(DATE_FORMAT(Durata,'%H :%i:%s')))),SUM(Costo),COUNT(Tipo),Tipo,Reparto FROM db.tab3 GROUP by Tipo,Reparto ORDER BY Tipo;

spero ti funzioni