• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[mysql] 2 mal auf gleiche Referenz zugreifen

Rostivar

New member
Hallo,
ich habe 3 Tabellen die sinngemäß so aussehen:

MAIN
inc
object
wann_erstellt
create_user_ref (User der es ertellt hat)
change-user_ref (User der was geändert hat)
wann_geändert
what_create_ref (Eigenschaft bei Erstellung)
what_change_ref (Eigenschaft bei Änderung)

USER
ref_inc
user
user_valid (wird für Drop Down Menü benötigt)

EIGENSCHAFT
ref_inc
eigenschaft

Jetzt mein Problem:
"create_user_ref" UND "change-user_ref" sind jeweils Referenzeinträge auf
USER.user
Genauso wie
"what_create_ref" UND "what_change_ref" Referenzen auf EIGENSCHAFT.eigenschaft sein soll.

Das Ganze habe ich hinbekommen bis ich ein 2tes mal auf die gleiche "Detail DB" also zum Beispiel USER zugreifen will. Hier fehlen mir die Kentnisse über einen "doppelten Join".
So klappt es:
SELECT
a.inc,
a.object,
b.users
c.eigenschaft
a.wann_geändert
FROM main AS a
INNER JOIN USER as b ON b.ref_inc=a.create_user_ref
INNER JOIN EIGENSCHAFT as c ON c.ref_inc=a.what_create_ref
WHERE Bedingung

jetz kommt als nächtes "change-user_ref" was laienhaft eine weitern join benötigt.
Also !sinngemäß! so
SELECT
a.inc,
a.object,
b.users
c.eigenschaft
a.wann_geändert
-b.users-
-c.eigenschaft-
FROM main AS a
INNER JOIN USER as b ON b.ref_inc=a.create_user_ref
INNER JOIN EIGENSCHAFT as c ON c.ref_inc=a.what_create_ref
-INNER JOIN USER as b ON b.ref_inc=a.change_user_ref-
-INNER JOIN EIGENSCHAFT as c ON c.ref_inc=a.what_change_ref-
WHERE Bedingung
Das klappt so natürlich nicht. Wie bekomme ich das hin?
Ein beispielhafter Quellcode wäre nett.

Danke und Gruß,
Rostivar

Falls es jemanden interessiert dioe Lösung ist folgende (neuer Join durch neue Tabellendefinition):
-d.users-
-e.eigenschaft-
-INNER JOIN USER as d ON d.ref_inc=a.change_user_ref-
-INNER JOIN EIGENSCHAFT as e ON e.ref_inc=a.what_change_ref-
 
Zuletzt bearbeitet:
Zurück
Oben