Datumsexistenz ermitteln

Werbung:
Where '01.01.2015' NOT EXISTS between Datum_von and Datum_bis
and Year(Vertrag_beginn) < 2015
and Vers_Begin > '01.01.2015'
Code:
SELECT * FROM kunde WHERE NOT EXISTS (
SELECT 1 FROM verträge WHERE verträge.kundenID = kunde.ID AND '01.01.2015' BETWEEN Datum_von AND Datum_bis )
Der Subselect in NOT EXISTS () findet alle Verträge die zum jeweiligen Kunden gehören und wenn er etwas findet wird WHERE den Kunden filtern.
 
Alles klar habe den Code nun endlich anwenden können, wie kann ich dafür sorgen das ich auch nur die Zeite der Datumswerte ([vz_versich_beginn]+[vz_versich_ende]) angezeigt bekommen, wo auch das zutrifft, wenn der Code wie folgt aussieht?

Code:
Select
    Distinct [S_6148_1].[v_kvnr_pers]
From     [dbo].[S_6430] As [S_6430_1]
Inner Join    [dbo].[S_6148] As [S_6148_1]
On    [S_6430_1].[V_id] = [S_6148_1].[v_id]
Where    Exists(Select
    1
From     [dbo].[S_6148]
Where    [dbo].[S_6148].[v_id] = [S_6148_1].[v_id]
And    '29.02.2016' Between [dbo].[S_6148].[vz_versich_beginn]
And    [dbo].[S_6148].[vz_versich_ende])
And    [S_6430_1].[sa110kopf_Berichtsjahr] Like '2016'
 
Werbung:
Du müsstest vermtulich im Haupt-Select noch weitere Bedingungen im WHERE-Teil anhängen, also:
Code:
Select
   Distinct [S_6148_1].[v_kvnr_pers]
From     [dbo].[S_6430] As [S_6430_1]
Inner Join    [dbo].[S_6148] As [S_6148_1]
On    [S_6430_1].[V_id] = [S_6148_1].[v_id]
Where    Exists(Select
   1
From     [dbo].[S_6148]
Where    [dbo].[S_6148].[v_id] = [S_6148_1].[v_id]
And    '29.02.2016' Between [dbo].[S_6148].[vz_versich_beginn]
And    [dbo].[S_6148].[vz_versich_ende])
And    [S_6430_1].[sa110kopf_Berichtsjahr] Like '2016'
AND [vz_versich_beginn] <= x
AND [vz_versich_ende] >= y
 
Zurück
Oben