Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2005 Teil von Juni

SELFHTML Forumsarchiv
Tabellen mit JOIN verknüpfen

Informationsseite
  1. Seite (DATENBANK) Tabellen mit JOIN verknüpfen von baccu, 30. 06. 2005, 13:00
nach unten

Tabellen mit JOIN verknüpfen

Die folgende Nachricht zum Thema stammt von: baccu, 30. 06. 2005, 13:00

Hallo

Bevor ich hier platz und Zeit in Anspruch nehme, kann mir vieleicht jemand ein gutes Tutorial empfehlen zum Thema:

5 oder Mehr Tabellen mittels JOIN verbinden

Ich bekomme nämlich bei meinen Versuchen immer wieder die Fehlermeldung:
Syntaxfehler (fehlender Operator)in Abfrageausdruck.

hier noch der Quelltext falls jemand einen Lösungsanstz hat.

sql = "SELECT n.Nickname, n.Hotspot, n.Geschlecht, n.GYear, n.Groesse, h.dayFrom,"
+" h.monthFrom, h.yearFrom, h.dayTo, h.monthTo, h.yearTo, h.atHotspot,"
+" d.Nation, d.Augen, d.Gewicht, d.Haarfarbe, d.Beruf"
+" FROM name n"
+"  INNER JOIN Holibook h ON n.NickNr = h.NickNr"
+" INNER JOIN Detail d ON n.NickNr = d.NickNr"
+"  WHERE n.Hotspot =  'Berlin'"

var rs = db.Execute(sql);

danke
baccu

nach obennach unten

Tabellen mit JOIN verknüpfen

Die folgende Nachricht zum Thema stammt von: dedlfix, 30. 06. 2005, 13:16

echo $begrüßung;

»» Ich bekomme nämlich bei meinen Versuchen immer wieder die Fehlermeldung:
»» Syntaxfehler (fehlender Operator)in Abfrageausdruck.

Wenn du ein Problem mit der Datenbank hast, ist es wesentlich sinnvoller mit speziell dafür vorgesehenen Programmen [*] zuerst die SQL-Syntax zu testen und dann das getestete Statement in irgendwelche Programme einzubauen.

Woher kommt denn der Fehler? von der Datenbank? Vom Compiler? Hast du vielleicht nur ein Semikolon vergessen?


echo "$verabschiedung $name";

MS SQL-Server: Query Analyzer
Oracle: SQL Plus
MySQL: z.B. phpMyAdmin
...: ...

nach obennach unten

Tabellen mit JOIN verknüpfen

Die folgende Nachricht zum Thema stammt von: Stefan E, 30. 06. 2005, 14:43

MySQL: MySQL Query Browser

nach obennach unten

Tabellen mit JOIN verknüpfen

Die folgende Nachricht zum Thema stammt von: baccu, 30. 06. 2005, 14:48

Hi,
Ich bekomme von der Datenbank folgenden Fehler im Browser angezeigt:
Fehlertyp:
Microsoft JET Database Engine (0x80040E14)
Syntaxfehler (fehlender Operator) in Abfrageausdruck 'h.NickNr = n.NickNr LEFT OUTER JOIN Detail d ON d.NickNr = n.NickNr'.
/holidaydate/search.asp, line 662

Zeile 662 ist die Execute Zeile

sql_a = "SELECT n.Nickname, n.Hotspot, n.Geschlecht, n.GYear, n.Groesse, h.dayFrom, h.monthFrom, h.yearFrom, h.dayTo, h.monthTo, h.yearTo, h.atHotspot, d.Nation, d.Augen, d.Gewicht, d.Haarfarbe, d.Beruf FROM name n LEFT OUTER JOIN Holibook h ON h.NickNr = n.NickNr LEFT OUTER JOIN Detail d ON d.NickNr = n.NickNr WHERE n.Hotspot =  'Berlin'";
  var ef = db.Execute(sql_a);

und dieser Fehler tritt erst auf wenn ich den 2. JOIN einbaue.
baccu

nach obennach unten

Tabellen mit JOIN verknüpfen

Die folgende Nachricht zum Thema stammt von: Vinzenz Mai, 30. 06. 2005, 17:15

Hallo baccu

»» Microsoft JET Database Engine (0x80040E14)
»» Syntaxfehler (fehlender Operator) in Abfrageausdruck 'h.NickNr = n.NickNr LEFT OUTER JOIN Detail d ON d.NickNr = n.NickNr'.

Teste die Abfrage mit Microsoft Access.

Laut Access-Hilfe gilt für SELECT folgende Syntax in Jet-SQL:

SELECT [Prädikat] { * | Tabelle.* | [Tabelle.]Feld1 [AS Alias1] [, [Tabelle.]Feld2 [AS Alias2] [, ...]]}
    FROM Tabellenausdruck [, ...] [IN ExterneDatenbank]
    [WHERE... ]
    [GROUP BY... ]
    [HAVING... ]
    [ORDER BY... ]
    [WITH OWNERACCESS OPTION]

Du solltest somit Marians Vorschlag befolgen und das AS nicht weglassen (was Du in anderen SQL-Dialekten kannst).


Freundliche Grüße

Vinzenz

nach obennach unten

Tabellen mit JOIN verknüpfen

Die folgende Nachricht zum Thema stammt von: Daniel, 30. 06. 2005, 13:22

Hi,
»» +"  INNER JOIN Holibook h ON n.NickNr = h.NickNr"

AFAIK müsste es

SELECT * FROM <tabelle>
INNER JOIN <join_tabelle> ON (<join_tabelle>.<spalte> = <tabelle>.<spalte>)

Heißen, wenn ich das richtig sehe gibst du den tabellen ein alias. geh
ich da recht in der annahme? zwischen dem SELECT und FROM müssen auch
die spaltennamen der Joinenden tabellen stehen damit du darauf zugreifen
kannst.

MfG

nach obennach unten

Tabellen mit JOIN verknüpfen

Die folgende Nachricht zum Thema stammt von: Marian, 30. 06. 2005, 15:58

Hi baccu,

»» +"  INNER JOIN Holibook h ON n.NickNr = h.NickNr"
»» +" INNER JOIN Detail d ON n.NickNr = d.NickNr"

sicher, dass "Holibook h" und "Detail d" geht?
Auf welcher zeile kommt denn der fehler? beim mysql-monitor (mysql\bin\mysql.exe) wird das angezeigt.

Gruß, Marian

--
Mein SelfCode:
ie:{ fl:( br:%3E va:) ls:[ fo:) n4:( ss:) de:] js:| ch:? mo:} zu:)

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2005 Teil von Juni

© 1998-2006 Seite Impressum, Software: Classic Forum