Триггер или событие, чтобы получить среднее значение из другой таблицы - PullRequest
0 голосов
/ 03 ноября 2018
ratings_table
-------------------------
id(PK)  color(FK)  rating
=========================
1       green      5  
2       green      2
3       blue       4
4       yellow     4
5       blue       3

colors_table:
---------------------
color(PK)  avg_rating
=====================
green      ?  
blue       ?
yellow     ?

Как мне установить среднюю оценку каждого цвета? Я хотел бы изменить это автоматически, когда новые данные будут вставлены в рейтинг_таблицу или обновлена ​​запись.

Полагаю, это довольно просто, но я понятия не имею, как это сделать.

1 Ответ

0 голосов
/ 03 ноября 2018

Самый простой подход состоит в том, чтобы иметь colors_table в качестве представления вместо таблицы, где вам нужно возиться с триггерами:

CREATE VIEW colors AS
SELECT   color, AVG(rating)
FROM     ratings_table
GROUP BY color
...