Join ?

Hallöchen,

Aus einem Delphi-Programm möchte ich über SQL auf 2 Tabellen in der gleichen Datenbank quasi gleichzeitig zugreifen um eine Liste zu erzeugen. Wie geht das nun SQL-mässig und wäre dass dann ein Join ?

ich dachte

„SELECT T_Accounts.ID, T_Users.F_FirstName, T_Users.F_LastName“

aber das geht ned. Oder muss ich halt mit zwei Queries und lokalen, temporären Variablen im Programm arbeiten ?

Roger

Irgendetwas müssen die Tabellen ja gemein haben - z.B. den ID - und darüber musst du dann halt den Join bilden, z.B.:

SELECT T\_Accounts.AccName, T\_Accounts.ID, T\_Users.FirstName, T\_Users.LastName
FROM T\_Accounts INNER JOIN T\_Users ON T\_Accounts.ID = T\_Users.ID

Reinhard

Hi,
auf Datenbank-Ebene haben die Felder und die Tabellen nix am Hut, sie sind also ned verlingt (so gut bin ich noch ned *g*)

Es ist eher eine „geistige Beziehung“ zwischen T_Accounts.ID (einem ID-Key) und diversen anderen Tabellen die alle ein normales LongInteger-Feld haben, z.B. T_Users.User dessen Wert mit einem ID-Wert der ‚Master-Tabelle‘ übereinstimmen. Dieser „Link“ wird vom Programm verwaltet.

Geht das dann auch ?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Um welche Datenbank-Engine geht es überhaupt? Aber egal…

Hi,
auf Datenbank-Ebene haben die Felder und die Tabellen nix am
Hut, sie sind also ned verlingt (so gut bin ich noch ned *g*)

Eine Beziehung/Relationship muss ja auch nicht unbedingt bestehen (auch wenn es besser ist, um Inkonsistenzen zu vermeiden)

Es ist eher eine „geistige Beziehung“ zwischen T_Accounts.ID
(einem ID-Key) und diversen anderen Tabellen die alle ein
normales LongInteger-Feld haben, z.B. T_Users.User dessen Wert
mit einem ID-Wert der ‚Master-Tabelle‘ übereinstimmen. Dieser
„Link“ wird vom Programm verwaltet.

Nun ja - zu „geistig“ sollte die Beziehung nicht sein. D.h. es müssen halt identische Werte in den Feldern stehen, die den Join ausmachen. Ansonsten sollte es dann halt heissen

SELECT T\_Accounts.AccName, T\_Accounts.ID, T\_Users.FirstName, T\_Users.LastName
FROM T\_Accounts INNER JOIN T\_Users ON T\_Accounts.ID = T\_Users.User 

Reinhard