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