Chevauchement des dates dans SQL

Je veux une requête pour identifier les Vehicle Registration Numbers du Vehicle Registration Numbers ayant plus d'une police avec un Vehicle Registration Numbers Insurance Company ID différent, avec des dates qui se chevauchent. Consultez cette image pour datatables

  SELECT Vehicle_N0.* FROM excel as Vehicle_N0 WHERE Vehicle_N0 IN (SELECT Vehicle_N0 FROM excel GROUP BY Vehicle_N0 HAVING COUNT(DISTINCT Insurance_id) > 1) ORDER BY vehicle_n0 

En utilisant cette requête, j'ai obtenu les Vehicle Registration Numbers ayant plus d'une politique avec différents Insurance Company ID mais comment get les dates de chevauchement.

J'ai essayé cette requête

 SELECT * FROM excel WHERE begin_date <= end_date OR begin_date >= end_date; 

Mais je n'ai pas eu les dates qui se chevauchent.

Utiliser exists() pour voir si un Vehicle_N0 a une input qui se chevauche avec un Insurance_Id différent:

 select v.* from excel as v where exists ( -- only return rows where this query would return row(s) select 1 from excel as i where i.Vehicle_N0 = v.Vehicle_N0 -- Vehicle_N0 is the same and i.Insurance_Id <> v.Insurance_Id -- Insurance_Id is not the same and i.end_date > v.begin_date -- date range overlaps and v.end_date > i.begin_date -- date range overlaps ) order by v.Vehicle_N0