Mysql
 sql >> Database >  >> RDS >> Mysql

tabella mySQL UPDATE basata su SELECT (count) di una tabella diversa

Modifica :Che ne dici di questo:

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 )

Finché l'ho digitato correttamente, in pratica dovresti essere in grado di eseguirlo una volta all'ora e aggiornerà la tua tabella SUBJECT.

L'unione di una tabella in un'istruzione UPDATE è leggermente diversa in MySQL rispetto a Microsoft SQL. Ecco un link a riguardo:

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