Hallo!

Hm,

mySQL kann halt noch weniger als Jet-SQL in Access. Hinzu kommt, dass
mySQL keine echten Joins kennt, sondern diese intern immer in eine
WHERE-Klausel umsetzt, die dann auf dem kartesischen Produkt der
Tabellen angewendet wird.

Da Du aus den beiden anderen Tabellen jeweils nur einen Wert ben�tigst,
w�re ein Sub-Select angebracht:

select *,
       (select herkunft from herkunft where id = herkunftid),
       (select typ from typ where id = typid)
from   zauber

Das ist die schnellste Variante, und die versteht mySQL schon mal gar
nicht.

Deine L�sung:
Nimm die Klammern weg, die die JOINs verschachteln, und wenn das nicht
hilft, dann mach halt das, was mySql sowieso macht - Kreuztabelle mit
WHERE-Klausel:

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

So etwas nennt man unter mySQL dann "optimieren". Dar�ber hinaus
verstehe ich den Assistenten von Access hier auch nicht.

Freundliche Gr��e
Joachim van de Bruck



> -----Urspr�ngliche Nachricht-----
> Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> Gesendet: Donnerstag, 10. Januar 2002 21:41
> An: ASP Datenbankprogrammierung
> Betreff: [aspdedatabase] Verschachtelung von Tabellen
>
> Hallo erstmal an alle :),
>
>
> 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 :
>
>
> 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 :
>
>
> You have an error in your SQL syntax near '(herkunft
>  INNER JOIN zauber
>   ON herkunft.id = zauber.herkunftid)
>   ON ty' a
>
>
> Kann mir vielleicht irgendjemand sagen, wie ich diese Abfrage
> f�r SQL richtig verschachtle. Ich dreh n�mlich allm�hlich durch.
>
> Vielen Dank schonmal im vorraus!!
> Thimo
>
>
>
> | [aspdedatabase] als [EMAIL PROTECTED] subscribed
> | http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
> | Sie k�nnen sich unter folgender URL an- und abmelden:
> | http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp



| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp

Antwort per Email an