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

table mySQL UPDATE basée sur SELECT (nombre) d'une table différente

Modifier :Que diriez-vous de ceci :

UPDATE SUBJECT
LEFT JOIN (
SELECT count(*) AS num, subject_id
FROM class
GROUP BY subject_id
where date_time > NOW()) AS t ON SUBJECT.subject_id = t.subject_id
SET SUBJECT.current_class_count = coalesce( t.num, 0 )

Tant que je l'ai tapé correctement, vous devriez pouvoir l'exécuter une fois par heure et cela mettra à jour votre table SUBJECT.

Joindre une table dans une instruction UPDATE est un peu différent dans MySQL par rapport à Microsoft SQL. Voici un lien à ce sujet :

http://blog.ookamikun.com/2008/03 /mysql-update-with-join.html