이 내 데이터베이스에서 노래의 평균 등급을 계산하는 select 문입니다 제가 테이블 노래에 테이블 등급에서 열 rating_average을 삽입해야트리거는 다른 테이블에있는 행을 업데이트하는
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
때 새로운 평점이 평점에 삽입됩니다. 또한 올바른 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, rating, username 노래 | ID, 등급, SONG_NAME
아무런 노력을하지 않고 노력했지만 모든 것을 기억하지 못해서 아무런 진전을 이루지 못했습니다. 누군가 내가해야 할 일을 위해 기본적인 레이아웃을 줄 수 있기를 바랬습니다. –
최선을 다했습니다. –