3 Tabellen mit MYSQL und ODBC

Hallo,

arbeite mit Mysql auf LINUX-Server. Workstations auf Win98.
Derzeit arbeite ich mit StarOfficezugriff via ODBC. Staroffice kriegt es aber nicht auf die Reihe, eine Abfrage mit Verknüpfung auf 3 oder mehr Tabellen hinzubekommen.
Wie gibt man den SQL-Befehl dazu ein, d.h. wie sieht er aus?

Easy

arbeite mit Mysql auf LINUX-Server. Workstations auf Win98.
Derzeit arbeite ich mit StarOfficezugriff via ODBC. Staroffice
kriegt es aber nicht auf die Reihe, eine Abfrage mit
Verknüpfung auf 3 oder mehr Tabellen hinzubekommen.
Wie gibt man den SQL-Befehl dazu ein, d.h. wie sieht er aus?

Beschreibe bitte genauer wie die Tabellen aussehen und das Abfrageergebnis aussehen soll.

Grüße, Robert

SELECT * FROM tabelle1, tabelle2, tabelle3, tabelle4…

oder was?

Sorry, habe vergessen: Leftjoin
Okay, mein Fehler:

Mehrere Tabellen sollen folgendermaßen mitnander verbunden werden:
Tabelle Artikel soll ganz angezeigt werden
Artikel
Nr holzart lackton
1 2 2
2 2 1

Statt der Zahlen bei holzart und lackton sollen aber die Werte aus Lackton und holzart angegeben werden

holzart
nr art
1 Eiche
2 Buche

lackton
nr art
1 klarlack
2 roh

normal geht das so (oder?):
select artikel.nr, holzart.art, lackton.art from artikel
leftjoin artikel.holzart = holzart.nr
leftjoin artikel.lackton = lackton.nr;

aber über ODBC braucht man glaube ich den Befehl mit {}.

Tschau

Easy

normal geht das so (oder?):
select artikel.nr, holzart.art, lackton.art from artikel
leftjoin artikel.holzart = holzart.nr
leftjoin artikel.lackton = lackton.nr;

So aus dem Stehgreif müßte es so aussehen (das ist ansich Microsoft/ODBC, AFAIK unterstützt MySQL diesen Syntax aber auch):

SELECT \* FROM 
 artikel 
 INNER JOIN holzart ON artikel.holzart=holzart.nr
 INNER JOIN lackton ON artikel.lackton=lackton.nr

Weiß nicht wo dein Schreibweise herkommt, aber so habe ich das noch nie gesehen. :o)

LEFT JOIN brauchst du ansich nur, wenn du möchtest, dass der Datensatz ausgegeben wird, auch wenn es keinen entsprechenden Datensatz in holzart oder lackton gibt.

Grüße, Robert

Hi Robert,

das mit dem leftjoin soll schon so sein, da nicht bei allen Artikeln ein Lackton eingetragen sein wird, aber das mit dem on werde ich mal ausprobieren, außerdem, ob diese Schreibweise von Staroffice und ODBC angenommen wird.

Kann aber paar Tage dauern.

Danke nochmals,

Easy

das mit dem leftjoin soll schon so sein, da nicht bei allen
Artikeln ein Lackton eingetragen sein wird, aber das mit dem
on werde ich mal ausprobieren, außerdem, ob diese Schreibweise
von Staroffice und ODBC angenommen wird.

OK, dann einfach LEFT JOIN statt INNER JOIN.

Grüße, Robert