Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi [SQL] => Möglichkeit gesucht die Werte aus einer 2. Tabelle auszugeben (https://www.delphipraxis.net/186826-%5Bsql%5D-%3D-moeglichkeit-gesucht-die-werte-aus-einer-2-tabelle-auszugeben.html)

juergen 3. Okt 2015 23:24

Datenbank: Pervasive • Version: V11.3 • Zugriff über: PDAC

[SQL] => Möglichkeit gesucht die Werte aus einer 2. Tabelle auszugeben
 
Hallo zusammen,

ich suche eine Möglichkeit, die Mitarbeiternamen aus einer 2.Tabelle auszugeben.
Vereinfacht folgende Gegebenheiten:
Code:
select A.Firma, A.RecID_P_TM, A.RecID_P_Betreuer, A.Telefon from Adressstamm as A, Personalstamm as P
In der Tabelle "Adressstamm" steht jeweils in A.RecID_P_TM und A.RecID_P_Betreuer eine Rec-Id von der Tabelle Personalstamm.

Wie müsste das Statement lauten, damit ich als Ergebnis auch die Namen aus dem Personalstamm erhalte (fett dargestellt)?
Mustermann GmbH, Hans Meier, Lieschen Müller, 0231/ 123456789
Dabei kommt es vor, dass die Felder auch schon mal leer sind. Auch die Performance ist zu beachten, da das ganze SQL Statement schon etliche Joins hat.

Vielen Dank schon mal im Voraus!

nahpets 4. Okt 2015 08:17

AW: [SQL] => Möglichkeit gesucht die Werte aus einer 2. Tabelle auszugeben
 
Eventuell in der Art?
Code:
select a.Firma, t.Namensspalte as TM, b.Namensspalte as Betreuer, A.Telefon from Adressstamm as A
left join Personalstamm as t on a.RecID_P_TM = t.RecID
left join Personalstamm as b on a.RecID_P_Betreuer = b.RecID
(ungeteste hingedaddelt, nur als Idee)

juergen 4. Okt 2015 10:37

AW: [SQL] => Möglichkeit gesucht die Werte aus einer 2. Tabelle auszugeben
 
Dankeschön, der Ansatz hat mir weitergeholfen. :thumb:
Einen schönen Sonntag noch!

Dejan Vu 4. Okt 2015 13:24

AW: [SQL] => Möglichkeit gesucht die Werte aus einer 2. Tabelle auszugeben
 
Alternativ
SQL-Code:
select A.Firma
     , (select Name from Personal where Personal.RecID = A.RecID_P_TM) as TM
     , (select Name from Personal where Personal.RecID = A.RecID_P_Betreuer) as Betreuer
     , A.Telefon
from Adressstamm as A
Sollte genauso schnell sein.

juergen 4. Okt 2015 21:58

AW: [SQL] => Möglichkeit gesucht die Werte aus einer 2. Tabelle auszugeben
 
@Dejan Vu,
danke für deine Antwort! :thumb:
Mit diesem Sub-Select wird allerdings nur eine Datenmenge geliefert, wenn auch Werte in A.RecID_P_TM oder A.RecID_P_Betreuer vorhanden sind.
Ich denke Left Join ist für meinen Fall richtig.
Einen schönen Abend noch!

Dejan Vu 5. Okt 2015 06:01

AW: [SQL] => Möglichkeit gesucht die Werte aus einer 2. Tabelle auszugeben
 
Es werden alle Adressen und die Personen gelistet. Wird keine Person gefunden, steht in der Spalte eine NULL. Das Ergebnis müsste identisch mit dem Vorschlag von nahpetS sein.


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