Se un cliente ha più contratti attivi ogni aggiornamento di un intervento fa sì che venga creato un nuovo record riga_contratto-intervento con conseguente duplicazione degli interventi nel riepilogo (ma non nella dashboard).
Se la relazione riga_contratto-intervento deve essere uno a uno, forse converrebbe mettere un vincolo del database (meglio un errore di inserimento che un record duplicato).
Per risistemare le cose, tenendo solo la prima coppia riga_contratto-intervento
delete rc1.* from co_righe_contratti rc1 inner join
(SELECT min(id) as primo_id, idcontratto, interv.idintervento, count(*)
FROM co_righe_contratti rc
INNER JOIN in_interventi interv ON rc.idintervento=interv.idintervento
group by idcontratto, interv.idintervento having count(*)>1) duplicati
on rc1.idcontratto=duplicati.idcontratto and rc1.idintervento=duplicati.idintervento
and rc1.idduplicati.primo_id
Attenzione: fare un backup prima dell'esecuzione della query (anche se dovrebbe essere corretta)