2017-09-06 4 views
2

Ich möchte eine Abfrage, um die Vehicle Registration Numbers mit mehr als 1 Richtlinie mit verschiedenen Insurance Company ID, mit überlappenden Daten zu identifizieren. Check this image for the datasÜberlappende Daten in SQL

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 

diese Abfrage mit bekam ich die Vehicle Registration Numbers mit verschiedenen Insurance Company ID mehr als 1 Politik, die aber wie die überlappenden Termine zu bekommen.

habe ich versucht, diese Abfrage

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

aber ich habe nicht die überlappten Termine.

+2

bitte posten erwartetes Ergebnis, tatsächliches Ergebnis als Text und keine Bilder – TheGameiswar

+0

Das erwartete Ergebnis ist, ich will die überlappten Daten erhalten von meinem Tisch. Ich habe versucht, das zu tun, aber ich bin gescheitert –

+0

Schauen Sie sich diesen Link an, um mehr darüber zu erfahren, wie man die Frage verbessern kann: https: //spaghettidba.com/2015/04/24/how-to-post-at-sql-question- on-a-public-forum/ – TheGameiswar

Antwort

2

exists() zu sehen, ob ein Vehicle_N0 einen überlappenden Eintrag mit einer anderen Insurance_Id hat:

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 
+0

können Sie mir erklären, wie diese Abfrage funktioniert ??? ? –

+0

Ich bekomme das richtige Ergebnis, aber ich verstehe nicht, wie es funktioniert .... –

+0

@JeroldJoel Ich habe meine Antwort mit einigen Kommentaren aktualisiert, lassen Sie mich wissen, wenn das hilft. Gibt es einen bestimmten Teil, den du nicht verstehst? – SqlZim