AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi join? left join? oder beides?
Thema durchsuchen
Ansicht
Themen-Optionen

join? left join? oder beides?

Ein Thema von barnti · begonnen am 22. Jan 2004 · letzter Beitrag vom 22. Jan 2004
Antwort Antwort
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
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#2

Re: join? left join? oder beides?

  Alt 22. Jan 2004, 13:42
SQL-Code:
         SELECT *
           FROM Kunde K
LEFT OUTER JOIN Partie P
             ON P.kunde_id = K.kunde_id
LEFT OUTER JOIN unterpartie U
             ON u.partie_id=p.partie_id

-- und wenn Du nur einen bestimmten Kunden haben möchtest, dann:

          WHERE K.kunde_ID=1
Gruß
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#3

Re: join? left join? oder beides?

  Alt 22. Jan 2004, 13:47
Code:
SELECT *
FROM Kunde k
  LFET OUTER JOIN Partie p ON k.Kunde_Id = p.Kunde_Id
    LEFT OUTER JOIN Unterpartie u ON o.Partie_Id = u.Unterpartie_Id
WHERE
  k.Kunde_Id = 1
Sollte eigentlich tun.


Edit: Mift.. war wieder einer schneller
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
barnti

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

Re: join? left join? oder beides?

  Alt 22. Jan 2004, 14:02
Hallo ihr zwei,

das war natürlich richtig Ich habe leider immer noch Probleme mit dem Formulieren von Statements. Schön, dass es euch scheinbar leicht fällt.

Danke für die schnelle und kompetente Hilfe,

Gruß,

Barnti
  Mit Zitat antworten Zitat
Benutzerbild von Memo
Memo

Registriert seit: 19. Aug 2003
509 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: join? left join? oder beides?

  Alt 22. Jan 2004, 14:07
Zitat von barnti:
Ich habe leider immer noch Probleme mit dem Formulieren von Statements. Schön, dass es euch scheinbar leicht fällt.
Schau dir mal Navicat an. Das kann dir da eine Menge Arbeit abnehmen.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz