我有一个表评级(idrating,clientno,spid,rating)和serviceprovider(spid,name,totalrating)。
我想创建一个触发器,使其平均spid的所有评级并将其放入总计列中。最好的方法是什么?或者触发器是不可能的?
答案 0 :(得分:0)
这应该有效:
CREATE TRIGGER `INSERT_TOTAL` AFTER INSERT ON `rating`
FOR EACH ROW INSERT INTO serviceprovider( spid, name, totalrating )
VALUES (
NEW.spid, 'name', (
SELECT AVG( spid )
FROM rating
)
)
使用更新:
CREATE TRIGGER `INSERT_TOTAL` AFTER INSERT ON `rating`
FOR EACH ROW
UPDATE serviceprovider SET totalrating = ( SELECT AVG( spid ) FROM rating )
WHERE name = 'name'