Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mySQL UPDATE-Tabelle basierend auf SELECT (Anzahl) einer anderen Tabelle

Bearbeiten :Wie wäre es damit:

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 )

Solange ich es richtig eingetippt habe, sollten Sie im Grunde in der Lage sein, dies einmal pro Stunde auszuführen, und es wird Ihre SUBJECT-Tabelle aktualisieren.

Das Verknüpfen einer Tabelle in einer UPDATE-Anweisung ist in MySQL etwas anders als in Microsoft SQL. Hier ist ein Link dazu:

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