Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Zugriff auf die Spalte aus der Aktualisierungstabelle in der Unterabfrage in mysql

Versuchen Sie stattdessen Folgendes:

update o
set latitude = (select avg(latitude)
                from location
                where location.creatorId=o.creatorId
                and location.timestamp<o.timestamp+interval 5 minute
                and location.timestamp>o.timestamp-interval 5 minute)
from occurrence o

Sie haben den Fehler "unbekannte Spalte 'occurrence.creatorId'" erhalten, weil das Tabellenvorkommen für Ihre innerste Unterabfrage nicht zugänglich ist. Daher sind alle Verweise auf Spalten in der Vorkommenstabelle aus der Unterabfrage ungültig. Die obige Abfrage sollte funktionieren.