Ok, por si alguien le sirve en el futuro lo solucioné con esto:
Código:
UPDATE usuarios u inner join chat c on u.id_usuario = c.id_usuario_origen SET u.estado = 0 WHERE u.id_rol = 2 OR u.id_rol = 2 AND TIMESTAMPDIFF(MINUTE, c.fecha, NOW()) > 30 OR c.fecha IS NULL
Generalmente la sintaxis es así:
Código:
UPDATE tabla2 t1 INNER JOIN tabla2 t2 ON t1.campo_relativo = t2.campo_relativo SET t1.campo_edicion = "valor" WHERE t1.campo_para_comparar = "valor"
Éxitos!! creo que si era lo mismo, mi error estaba en que usaba el SET antes de hacer el inner join... éxitos!!!