Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Acessando a coluna da tabela de atualização na subconsulta no mysql


Tente isso em vez disso:
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

Você estava recebendo o erro "coluna desconhecida 'occurrence.creatorId'" porque a ocorrência da tabela não está acessível à sua subconsulta mais interna. Como resultado, todas as referências a colunas na tabela de ocorrências da subconsulta são inválidas. A consulta acima deve funcionar bem.