Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - Join mit OleDB?
reox - Di 08.09.09 14:10
Titel: Join mit OleDB?
Ich versuche einen JOIN in mit einer OleDB (Access) Datenbank zu machen, jedoch schlägt er immer fehl mit der Meldung das ein Fehler bei FROM ist:
query = "SELECT * FROM file_appendix as fa JOIN file f ON fa.appendix_id = f.id WHERE fa.file_id = '"+id+"'";
geht das nicht bei OleDB oder mach ich das falsch?
ene - Di 08.09.09 14:39
Hi,
Es soll wohl ein INNER JOIN sein? Und das zweite As dürfte auch fehlen. Ich würde dir auch vorschlagen, das mit Parametern zu erledigen. Ist file_id eine Zahl oder ein Text?
JüTho - Di 08.09.09 17:10
ene's Hinweise sind zwar richtig (vor allem die Verwendung von Parametern), aber nicht die Antwort auf die Fehlermeldung: Der Asterisk * ist unzureichend, weil zwei Tabellen angegeben werden. Du musst die Tabellen angeben:
SQL-Anweisung
1: 2:
| SELECT f.*, fa.* FROM ... |
Das ergibt sich aus der Fehlermeldung: Der Fehler tritt vor dem FROM auf; dort steht nur der Asterisk. Also hängt damit der Fehler zusammen.
Besser wäre die Beschränkung auf einzelne Felder; es ist selten gut, alle Daten abzurufen.
Jürgen
reox - Mo 14.09.09 21:31
ok ja so gehts, hab bisher immer nur my und sqlite gemacht, da geht das auch ohne inner :D
danke!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!