Hallo,
Ich suche nach einer (einfachen) Lösung für ein Problem, was sich ergeben hat.
Die Tables sehen ungefähr folgendermaßen aus:
MasterData Table (MD): Hier stehen z.B. Informationen über eine Firma drin, vorneweg hat jede Firma eine Unique ID.
RelationTable (RT): Hier wird die MD mit einer 3. Table verknüpft.
DatumTable(DT): Hier stehen diverse Datumsangaben zu einer Firma drin (Beispielsweise wann ein Event stattfand)
Wenn ich nun den LEFT JOIN anwende, erzeugt jeder Datumseintrag verständlicherweise eine eigene Zeile.
Nehmen wir an:
SELECT * FROM MD
INNER JOIN RT ON RT.MI = MD.MI
LEFT JOIN DT ON DT.DI = RT.DI
und es existiert nur Firma A mit Datum 1 und Datum 2 für Firma A.
Ergibt also:
Zeile1: Firma A Stammdaten + Datum 1
Zeile2: Firma A Stammdaten + Datum 2
Wenn ich nun wissen wollen würde, ob beispielsweise ein Event ab eines gewissen Datums stattgefunden hätte, wie müsste die WHERE Bedingung aussehen, damit er komplett Firma A rausschmeißt wenn zwar Datum 1 die Bedingung nicht erfüllt, dafür aber Datum 2?
Ist es bei dieser Struktur überhaupt möglich es durch eine einzige Query zu lösen?
Ich hoffe ihr konntet mir halbwegs folgen und Danke im Voraus.
Ich suche nach einer (einfachen) Lösung für ein Problem, was sich ergeben hat.
Die Tables sehen ungefähr folgendermaßen aus:
MasterData Table (MD): Hier stehen z.B. Informationen über eine Firma drin, vorneweg hat jede Firma eine Unique ID.
RelationTable (RT): Hier wird die MD mit einer 3. Table verknüpft.
DatumTable(DT): Hier stehen diverse Datumsangaben zu einer Firma drin (Beispielsweise wann ein Event stattfand)
Wenn ich nun den LEFT JOIN anwende, erzeugt jeder Datumseintrag verständlicherweise eine eigene Zeile.
Nehmen wir an:
SELECT * FROM MD
INNER JOIN RT ON RT.MI = MD.MI
LEFT JOIN DT ON DT.DI = RT.DI
und es existiert nur Firma A mit Datum 1 und Datum 2 für Firma A.
Ergibt also:
Zeile1: Firma A Stammdaten + Datum 1
Zeile2: Firma A Stammdaten + Datum 2
Wenn ich nun wissen wollen würde, ob beispielsweise ein Event ab eines gewissen Datums stattgefunden hätte, wie müsste die WHERE Bedingung aussehen, damit er komplett Firma A rausschmeißt wenn zwar Datum 1 die Bedingung nicht erfüllt, dafür aber Datum 2?
Ist es bei dieser Struktur überhaupt möglich es durch eine einzige Query zu lösen?
Ich hoffe ihr konntet mir halbwegs folgen und Danke im Voraus.