*grummel* Verschachtelung von Tabellen ..

Status
Nicht offen für weitere Antworten.

Nils Hitze

Admin a.D.
Also :
Ich habe 3 Tabellen in einer Datenbank.
In der Haupttabelle (zauber) wird auf die beiden
anderen Tabellen (herkunft/typ) verwiesen indem
die jeweilige ID aufgerufen wird.

zauber
|- id (Primärschlüssel)
|- tid (varchar) //Die Referenz auf den Typ
|- hkid (varchar) //Die Referenz auf die Herkunft
|- ... //Andere Daten

typ
|- id (Primärschlüssel)
|- typ (varchar) //Der Typ

herkunft
|- id (Primärschlüssel)
|- herkunft (varchar) //Die Herkunft

Der Befehl den ich im Query ausführen wollte lautet :

PHP:
SELECT zauber.*, herkunft.herkunft, typ.typ FROM typ 
 INNER JOIN (herkunft 
 INNER JOIN zauber 
  ON herkunft.id = zauber.herkunftid) 
  ON typ.id = zauber.typid;

Das ist zumindestens der Befehl, den ich von Access bekommen habe
als ich mir eine Abfrage für diese Tabelle zusammengeschrieben habe.

Nur leider meldet mir MySQL, daß ich einen Fehler in meiner
Syntax habe, nämlich :

PHP:
You have an error in your SQL syntax near '(herkunft 
 INNER JOIN zauber 
  ON herkunft.id = zauber.herkunftid) 
  ON ty' at line 2

Kann mir vielleicht irgendjemand sagen, wie ich diese Abfrage
für SQL richtig verschachtle. Ich dreh nämlich allmählich durch.

Pfote, Kojote
 
hi,
funzed

select zauber.id, typ.id, herkunft.id From herkunft, zauber, typ


nicht - naja sonst mache einfach

select * from herkunft, sauber, typ ;)
 
PHP:
$query = 'select t.typ, h.herkunft, z.id from zauber as z, typ as t, herkunft as h where id = 13';

müsste so gehen...denk ich

ja?????

//bad taste
 
hi,
meines wissens nach funktioniert sowas in mysql nicht, bin zwar noch newbie da drinne, aber ich habe es anders gelöst, ich lasse den entsprechenden id wert auslesen und dann gegebenenfalls per insert in die 2te tabelle einsetzen. habe das nämlich auch schonmal versucht zu machen, aber auch nicht hinbekommen, dann einfach so gelöst, wie oben beschrieben.
 
hi,


Select zauber.*, herkunft.herkunft, typ.typ
From zauber, herkunft, typ
Where zauber.herkunftid = herkunft.id and zauber.typid = typ.id


funzed :) mysql versteht ja keine joins... blöde erfindung
 
Status
Nicht offen für weitere Antworten.
Zurück