Mysql
 sql >> Base de données >  >> RDS >> Mysql

Accéder à la colonne de la table de mise à jour dans la sous-requête dans mysql

Essayez ceci à la place :

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

Vous obteniez l'erreur "colonne inconnue 'occurrence.creatorId'" car l'occurrence de table n'est pas accessible à votre sous-requête la plus profonde. Par conséquent, toutes les références aux colonnes de la table d'occurrences de la sous-requête sont invalides. La requête ci-dessus devrait fonctionner correctement.