ich eine SQL-Abfrage haben, die fehlschlägt, mir den Fehler geben:SQL verbindet, „gibt es einen Eintrag für die Tabelle, aber es kann nicht referenziert werden“
"There is an entry for table but it cannot be referenced from this part of the query"
Geht man durch die Abfrage, muss ich sowohl alle 3 Tabellen, aber nur Reisen und Boote haben eine übereinstimmende ID, um mitzumachen. Test ist ein Shapefile, für das ich eine postGIS-Funktion ausführen muss, aber es teilt keine ähnliche Spalten-ID mit den beiden anderen.
select trips.*
from trips, test
inner join boats on boats.id = trips.boat_id
where st_intersects(trips.geom, test.geom) and
boats.uid = 44
Ich denke, es hat etwas mit der Join-Anweisung zu tun, aber ich verstehe nicht wirklich was. Ich würde mich sehr für eine Erklärung dessen interessieren, was hier passiert.
Um zu verdeutlichen - versuchen Sie absichtlich, "Fahrten" und "Versuche" zu verbinden? – Nicarus
mischen Sie keine impliziten und expliziten Joins und setzen Sie niemals Kommas in die 'from'-Klausel. –
In traditioneller Weise könnte es sein "... von Reisen beitreten Test (st_intersects (trips.geom, test.geom)) beitreten Boote auf (boats.id = trips.boat_id) wo boats.uid = 44;' – Abelisto