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-ID: 233482

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

Ausgedruckt am: 25.11.2024 um 18:11 Uhr

ITvortex
ITvortex 24.03.2014 aktualisiert um 14:10:58 Uhr
Goto Top
SELECT tz.id_zugeh_mod, tm.id_modell FROM t_zugeh_mod tz INNER JOIN t_model tm ON ....;

sowas?
it-frosch
Lösung it-frosch 24.03.2014, aktualisiert am 25.03.2014 um 08:49:52 Uhr
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
amax2000
amax2000 24.03.2014 um 14:13:13 Uhr
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
killtec
killtec 24.03.2014 um 14:26:51 Uhr
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ß
MadMax
Lösung MadMax 24.03.2014, aktualisiert am 25.03.2014 um 08:49:39 Uhr
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
killtec
killtec 25.03.2014 um 08:49:34 Uhr
Goto Top
Hi,
Danke für die Lösung. War mir nicht klar das dass so funktioniert face-smile

Gruß