Código:
Generalmente estoy haciendo un chat, el UPDATE que necesito basado en la consulta que estoy entregando inicialmente generalmente cambiará un campo en la tabla usuarios llamado estado a 0 si el tiempo que ha pasado desde la última entrega de un mensaje en la tabla chat es mayor a 30 minutos.SELECT * FROM usuarios u inner join chat c WHERE u.id_rol = 2 AND TIMESTAMPDIFF(MINUTE, c.fecha, NOW()) > 30 OR c.fecha IS NULL GROUP BY u.id_usuario
Algo así como lo siguiente, dejando claro que estoy loco, esto no funciona, es solo una aproximación a lo que realmente necesito... ps sé que un código para un programador vale más que mil palabras... basado en esa ideologia entrego algo más o menos de lo que deseo suponiendo que un update se pudiese lograr cambiando SELECT por UPDATE y listo

Código:
Agradezco de antemano cualquier respuesta... aunque sea una idea de como consultar las dos tablas y hacer un update a partir de esa consulta... UPDATE usuarios SET estado = 1 u inner join chat c WHERE u.id_rol = 2 AND TIMESTAMPDIFF(MINUTE, c.fecha, NOW()) > 30 OR c.fecha IS NULL GROUP BY u.id_usuario