Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL Abfrage mit JOIN - Verständnisproblem (https://www.delphipraxis.net/92613-sql-abfrage-mit-join-verstaendnisproblem.html)

hirnstroem 23. Mai 2007 11:03

Datenbank: MS Access • Version: kA • Zugriff über: ADO

SQL Abfrage mit JOIN - Verständnisproblem
 
'loha Folks,

die Tabellen User und Key stehen über die Zwischentabelle User_Key in Beziehung.

Sämtliche Daten aus der Tabelle Key sollen dargestellt werden. Zusätzlich sollen die Daten aus der Tabelle User dargestellt werden, sofern diese mit einem Eintrag aus der Tabelle Key in Beziehung stehen (über die Tabelle User_Key).

Ich verstehe noch nicht wirklich, wie das gemacht wird und wäre um etwas Beihilfe sehr erfreut.

Die folgende Abfrage liefert schon einmal etwas (alle Daten aus User und Key sofern sie in Beziehung stehen), aber leider nicht das gewünschte.

SQL-Code:
SELECT *
FROM
([User] INNER JOIN
  ([Key] INNER JOIN
    User_Key
  ON [Key].KeyID = User_Key.KeyID)
ON [User].UserID = User_Key.UserID)
Grüsse
hirnstroem

mquadrat 23. Mai 2007 11:05

Re: SQL Abfrage mit JOIN - Verständnisproblem
 
Ein inner join liefert nur Ergebnisse, wenn die Bedingung auch wirklich erfüllt sind. In deinem Fall musst du einen outer join verwenden.

SQL-Code:
select * from key
  left outer join user_key on ...
  left outer join user on ...

hirnstroem 23. Mai 2007 11:19

Re: SQL Abfrage mit JOIN - Verständnisproblem
 
Vielen Dank mquadrat, jetzt habe auch ich das hinbekommen.

Der Vollständigkeit halber:

SQL-Code:
SELECT *
FROM
((Key LEFT JOIN User_Key ON Key.KeyID = User_Key.KeyID)
LEFT JOIN User ON User_Key.UserID = User.UserID)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:31 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