phpmyadmin will mein sql-statement nicht
MartinHein
- datenbank
0 Ilja0 Pits0 Karin0 Martin Hein0 at
Hallo Forum,
in meinem phpscript steht folgendes mysql-statement UND funktioniert:
SELECT fondsstamm.index, fondsstamm.name, fondsartenmanuell.faheadline, fondsartenmanuell.bezeichnung, fondspreise.we_lfd_jahr FROM fondsstamm JOIN fazuordnungmanuell ON fondsstamm.index = fazuordnungmanuell.index JOIN fondsartenmanuell ON fazuordnungmanuell.faindex = fondsartenmanuell.faindex JOIN fondspreise ON fondsstamm.index = fondspreise.index WHERE fazuordnungmanuell.faindex = 27
weil das ergebins dummerweise nicht stimmt, muss ich der sache auf den grund gehen und will das über phpmyadmin. also paste ich das statement in mein phpmyadmin. das gibt folgenden fehler aus:
#1054 - Unknown column 'fondsstamm.index' in 'field list'
phpmyadmin kommt mit dem statement nicht zurecht. ich denke,
weil es strenger mit der syntax ist. ich muss also das
statement so anpassen, dass es auch mit phpmyadmin läuft.
ich denke, der punktoperator macht phpmyadmin probleme.
weglassen geht aber nicht, weil dann die felder nicht
mehr eindeutig identifizierbar sind (z.b. das feld 'index'
kommt in mehreren tabellen vor).
tausend dank für hilfe und
viel gruesse,
martin
yo,
index ist ein ganz schlechter name für spalten, da es ein reserviertes wort ist. meiner meinung nach liegt es nicht an phpmyadmin, die fehlermeldung sieht er nach einer meldung des dbms aus, dass er die entsprechende spalte in der tabelle nicht kennt. ist aber zu prüfen, indem man den befehl zum beispiel direkt an der konsole eingibt.
ausserdem würde ich das schlüsselwort inner join anstelle von nur join angeben, ließt sich einfach besser.
Ilja
Hi,
Punkte in columns im SQL sind denkbar schlecht, da dies u.U fehlerhaft interpretiert werden kann.
Probier doch einfach die einzelnen wörter von columns mit "_" zu trennen, z.B. also "fondsstamm_index" oder "fondsstamm_name"... So sollte es klappen!
greez
Hallo Forum,
in meinem phpscript steht folgendes mysql-statement UND funktioniert:
SELECT fondsstamm.index, fondsstamm.name, fondsartenmanuell.faheadline, fondsartenmanuell.bezeichnung, fondspreise.we_lfd_jahr FROM fondsstamm JOIN fazuordnungmanuell ON fondsstamm.index = fazuordnungmanuell.index JOIN fondsartenmanuell ON fazuordnungmanuell.faindex = fondsartenmanuell.faindex JOIN fondspreise ON fondsstamm.index = fondspreise.index WHERE fazuordnungmanuell.faindex = 27
weil das ergebins dummerweise nicht stimmt, muss ich der sache auf den grund gehen und will das über phpmyadmin. also paste ich das statement in mein phpmyadmin. das gibt folgenden fehler aus:
#1054 - Unknown column 'fondsstamm.index' in 'field list'
phpmyadmin kommt mit dem statement nicht zurecht. ich denke,
weil es strenger mit der syntax ist. ich muss also das
statement so anpassen, dass es auch mit phpmyadmin läuft.
ich denke, der punktoperator macht phpmyadmin probleme.
weglassen geht aber nicht, weil dann die felder nicht
mehr eindeutig identifizierbar sind (z.b. das feld 'index'
kommt in mehreren tabellen vor).tausend dank für hilfe und
viel gruesse,
martin
Moin!
Punkte in columns im SQL sind denkbar schlecht, da dies u.U fehlerhaft interpretiert werden kann.
Nein, Punkte sind prima. Sie trennen die Tabellenbezeichnung von der Spaltenbezeichnung wie hier:
tabelle.spalte
Oder sogar die Datenbank:
datenbank.tabelle.spalte
Und mach beim nächsten Mal doch bitte kein Fullquote.
- Sven Rautenberg
Hallo,
ich denke, der punktoperator macht phpmyadmin probleme.
weglassen geht aber nicht, weil dann die felder nicht
mehr eindeutig identifizierbar sind (z.b. das feld 'index'
Nein, mit dem Punkt nicht, eher mit dem Spaltennamen "index". Wenn Du reservierte Wörter verwenden willst, musst Du die in Backticks setzen, z.B. tabelle.index
Grüße
danke alle,
hab's schon hinbekommen phpmyadmin braucht backsticks.
beste gruesse,
martin