MySQL三张表根据某一个字段向其中一张表插入数据
发布网友
发布时间:2022-05-02 11:51
我来回答
共1个回答
热心网友
时间:2022-05-02 13:21
我对你的要求理解是学生白的id是评分表的项目id,并且评委已经对每个项目打好分了。
并且学生表(xuesheng),评委表(pingwei),评分表(pingfen)都有基础的数据。
第一条sql是在学生表里插入平均分,
第二条sql实在学生表根据分数里插入名次,
UPDATE xuesheng a SET a.score = (SELECT score FROM (SELECT appid, AVG(score) score FROM pingfen GROUP BY appid) b WHERE a.id=b.appid);
UPDATE xuesheng a SET a.rank = (SELECT rank FROM (SELECT id,@a:=@a+1 rank FROM xuesheng WHERE (SELECT @a:=0) OR TRUE ORDER BY score DESC) b WHERE a.id=b.id );