Einzelnen Beitrag anzeigen

barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#1

join? left join? oder beides?

  Alt 22. Jan 2004, 13:18
Hallo,

ich habe mal wieder Probleme das richtige Statement zu formulieren:

ich arbeite unter mysql 4.irgentwas und habe die folgende Situation

_____
Kunde
_____
key: kunde_id

______
Partie
______
key: Partie_id
forreignKey: Kunde_id

__________
unterpartie
___________
key: unterpartie_id
key: partie_id

Nun möchte ich folgendes ergebnis bekommen: Alle Partien eines bestimmten Kunden, und wenn existent, die unterpartien der entsprechenden Partie.

Beispiel:

Kunde
_____
Kunde_ID: 1
Kunde_ID: 2


Partie
______
Partie_ID: 1, Kunde_ID: 1
Partie_ID: 2, Kunde_ID: 1
Partie_ID: 3, Kunde_ID: 1
Partie_ID: 4, Kunde_ID: 2


unterpartie
___________
unterpartie_id: 1, partie_ID: 1
Unterpartie_id: 2, partie_id: 1

Als Ergebnis sollte dann das folgende erscheinen:

Partie_id
1
unterpartie_id
1

unterpartie_id
2

Partie_id
2

Partie_id
3

Ich hoffe das Problem wird deutlich. Mein Versuch:

SQL-Code:
SELECT *
FROM partie p, unterpartie u, kunde k
left join unterpartie on p.partie_id=u.partie_id
where unterpartie_id is null // bis hierher bekomme ich alle datensätze die keine
and k.kunde_id=p.kunde_id // Entsprechung in unterpartie haben, nur das mit der
and kunde_ID=1 // Kundennummer haut nicht hin. Es sind immer alle Partien
                                                   // aufgeführt!?
Für Hilfe wäre ich sehr dankbar,
Gruß,

Barnti
  Mit Zitat antworten Zitat