SQL MySql Query mit Left Join Problem

Krafty

Lt. Commander
Registriert
Sep. 2009
Beiträge
1.177
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.
 
aus left outer join einen inner join machen und zetl. bedingung setzen...
 
Sorry, ändert leider auch nichts.

Habe die LEFT JOIN Überlegungen vorerst rausgelassen und wie oben beschrieben existieren genau 2 Datumsangaben, eine die die Bedingung erfüllt und eine, die es nicht tut. Es wird Firma A gelistet sobald ein Datensatz die Bedingung erfüllt (2 mal, falls beide die Bedingung erfüllen), dies wollte ich vermeiden.
 
du mußt natürlich komplett verknüpfen. wenn es nciht um eine datumsangabe, sondern um eine datumsangabe zu einer bestimmten firma geht, dann muß das auch in die bedingung rein.
 
Was meinst du mit "komplett verknüpfen"?

Wie im Beispiel angeführt gibt es eine Firma mit 2 dazugehörigen Datumseinträgen.
 
Krafty schrieb:
Ist es bei dieser Struktur überhaupt möglich es durch eine einzige Query zu lösen?
Es können immer Teilabfragen zu einer Großen zusammengebastelt werden.

Krafty schrieb:
Ich hoffe ihr konntet mir halbwegs folgen.
Leider nicht wirklich, weil du nicht schreibst welche Spalten angezeigt werden sollen.
  • Nur den Firmennamen?
  • Firma + Event?
  • Firma + Event + letztes/ältestes/jedes Datum?
 
Zurück
Oben