killtec
Goto Top

SQL-Befehl Tabelle doppelt mit Join?

Hallo zusammen,
habe folgende Konstruktion einer DB:
1. Tabelle mit Modellen (hier wird für mein Problem nur die ID und eine Nummer (Nicht ID) benötigt)
2. Tabelle besteht aus einer ID und zwei Referenzierten Spalten.

Aufbau Tabelle 2:
ID | Modellnummer | Modellnummer1

Modellnummer + Modellnummer 1 sind die PK's aus Tabelle 1.

Nun die Frage:
Wie bekomme ich es mit einem Select Hin, dass ich für beide Fremdschlüssel (Modell + Modell 1) die Werte für die Modellnummer bekomme?
Für eine ist es ja klar. Das geht mit einem Join.

Hier noch ein Ausschnitt von der DB:
edd80837b45e563c278a9ea1f0b91daa

Gruß

Content-Key: 233482

Url: https://administrator.de/contentid/233482

Printed on: April 19, 2024 at 23:04 o'clock

Member: ITvortex
ITvortex Mar 24, 2014 updated at 13:10:58 (UTC)
Goto Top
SELECT tz.id_zugeh_mod, tm.id_modell FROM t_zugeh_mod tz INNER JOIN t_model tm ON ....;

sowas?
Member: it-frosch
Solution it-frosch Mar 24, 2014, updated at Mar 25, 2014 at 07:49:52 (UTC)
Goto Top
Hallo killtec,

wenn du eine Tabelle doppelt anbinden willst über join dann nimm einfach zwei verschiedene Aliase beim joinen.

PS: Falls du das nicht meinst, beschreibe es noch mal anders. Ich verstehe deine Beschreibung nicht wirklich. face-wink

grüße vom it-frosch
Member: amax2000
amax2000 Mar 24, 2014 at 13:13:13 (UTC)
Goto Top
Hi,

ein Subselect bzw. geschachtelter Select wäre wahrscheinlich einfacher.
schließe mich ITFrosch an, Verstehe die Struktur nur nicht so ganz, ist der Aufbau wie folgt:

Tabelle 1
ID | Modellname1 | Modellname2

Tabelle 2
ID (=Modellname 1 oder Modellname 2 aus Tabelle 1) | Nummer


?

VG

amax
Member: killtec
killtec Mar 24, 2014 at 13:26:51 (UTC)
Goto Top
Hi,
ich habe aktuell folgendes getestet:
SELECT t1.id_zugeh_mod, t1.zug_mod_nummer_ref, t1.zug_mod_nummer, t2.id_modell, t2.mod_nummer FROM t_zugeh_mod AS t1 JOIN t_model AS t2 WHERE t1.zug_mod_nummer_ref = t2.id_modell;

Damit bekomme ich die Modellnummern zur 1. Zeile (zug_mod_nummer_ref) Das gleiche möchte ich noch für die Spalte zug_mod_nummer haben. Die Daten sind in der selben Tabelle (t_model).

Es geht hierbei darum, dass einem Hauptmodell ein Untermodell zugeordnet werden kann. Das Untermodell kann aber auch ein eigenes Modell sein.

Hoffe es ist klarer geworden face-smile

Gruß
Member: MadMax
Solution MadMax Mar 24, 2014, updated at Mar 25, 2014 at 07:49:39 (UTC)
Goto Top
Hallo killtec,

so wie ich Dein Problem verstanden habe, kam der passende Hinweis schon, nämlich nochmal die Modelltabelle mit einem anderen Alias einbinden, also:
SELECT t1.id_zugeh_mod, t1.zug_mod_nummer_ref, t1.zug_mod_nummer, t2.id_modell, t2.mod_nummer, t3.id_modell, t3.mod_nummer FROM t_zugeh_mod AS t1 JOIN t_model AS t2 on t1.zug_mod_nummer_ref = t2.id_modell JOIN t_model AS t3 on t1.zug_mod_nummer = t3.id_modell;

Gruß, Mad Max
Member: killtec
killtec Mar 25, 2014 at 07:49:34 (UTC)
Goto Top
Hi,
Danke für die Lösung. War mir nicht klar das dass so funktioniert face-smile

Gruß