Это оператор выбора, который вычисляет средний рейтинг песни в моей базе данныхTrigger для обновления строки в другой таблице
SELECT *, (tab.rating_sum/tab.rating_count) as rating_average FROM
(SELECT song_id, COUNT(rating) rating_count, SUM(rating) rating_sum FROM ratings
GROUP BY song_id) tab
INNER JOIN SONGS WHERE SONGS.id = tab.song_id
мне нужно вставить столбец rating_average из таблицы РЕЙТИНГОВ в таблице ПЕСНЮ, когда новый рейтинг добавляется в РЕЙТИНГИ. Мне также нужно убедиться, что он попадает в соответствующий столбец song_id. Как я могу сделать это с помощью триггера? Я вырываю волосы.
Это лучшее, что я могу придумать, но я понятия не имею, что я делаю с триггерами:
CREATE TRIGGER rating_trig ON ratings FOR INSERT AS
BEGIN
UPDATE SONGS SET
rating = SELECT (tab.rating_sum/tab.rating_count) as rating_average FROM
(SELECT song_id, COUNT(rating) rating_count, SUM(rating) rating_sum FROM ratings
GROUP BY song_id) tab
INNER JOIN SONGS WHERE SONGS.id = tab.song_id
END
ТАБЛИЦА Макеты:
РЕЙТИНГИ | song_id, рейтинг, имя пользователя ПЕСНИ | идентификатор, рейтинг, SONG_NAME
Я пробовал кучу вещей безрезультатно, я не помню всего, что я пробовал, потому что я не добился какого-либо прогресса. Я надеялся, что кто-то может дать мне базовый макет для того, что мне может понадобиться. –
Я приложил все усилия –