Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

tabela mySQL UPDATE baseada em SELECT (contagem) de uma tabela diferente


Editar :Que tal agora:
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 )

Contanto que eu tenha digitado corretamente, basicamente você poderá executar isso uma vez por hora e atualizará sua tabela SUBJECT.

Unir uma tabela em uma instrução UPDATE é um pouco diferente no MySQL em comparação com o Microsoft SQL. Segue um link sobre isso:

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