sql >> Base de Datos >  >> RDS >> Mysql

cómo manejar la actualización de consultas MYSQL como esta

Recibe ese error porque está intentando actualizar el screening tabla y al mismo tiempo obtener los identificadores de esa misma tabla (junto con users ). La solución a esto es usar una subconsulta, como tal:

UPDATE screening
   SET maileddate = date('Y-m-d', strtotime($mailed_date[$screeningId]))
 WHERE user_id IN (  
                    select s.id
                      from (

                        SELECT users.id
                          FROM users
                         INNER JOIN screening ON 
                                        users.id = screening.users_id
                                AND screening.id = {$screeningId}
                    ) as s)
   AND date BETWEEN 05-15/2011 AND 11-15-2011
LIMIT 2   

Solo cambié la sangría y agregué la subconsulta en minúsculas.