【发布时间】:2023-03-13 00:55:02
【问题描述】:
早上好,我告诉他们我的情况: 我有两张桌子:
RATINGS:
GUIDE varchar(7)
USER varchar(20)
PRETEST decimal(4,3)
POSTEST decimal(4,3)
RATINGS_PERGUIDE:
USER varchar(20)
GUIDE1_PRETEST decimal(4,3)
GUIDE1_POSTEST decimal(4,3)
GUIDE2_PRETEST decimal(4,3)
GUIDE2_POSTEST decimal(4,3)3
.
.
.
GUIDE20_PRETEST decimal(4,3)
GUIDE20_POSTEST decimal(4,3)
表格“RATINGS”有一个输入信息的表格,我需要将输入的信息移动到表格“RATINGS_PERGUIDE”,我试试这个:
UPDATE RATINGS , RATINGS_PERGUIDE
IF RATINGS.USER = RATINGS_PERGUIDE.USER AND RATINGS.GUIDE = 'GUIDE 1'
THEN
SET RATINGS_PERGUIDE.GUIDE1_PRETEST = RATINGS.PRETEST
SET RATINGS_PERGUIDE.GUIDE1_POSTEST = RATINGS.POSTEST
ELSE IF RATINGS.USER = RATINGS_PERGUIDE.USER AND RATINGS.GUIDE = 'GUIDE 2'
THEN
SET RATINGS_PERGUIDE.GUIDE2_PRETEST = RATINGS.PRETEST;
SET RATINGS_PERGUIDE.GUIDE2_POSTEST = RATINGS.POSTEST;
.
.
.
END IF
但是没用
即根据“RATINGS”表中输入的“GUIDE”更新表“RATINGS_PERGUIDE”中的对应列(24个“GUIDES”不同)
同样,如果可以在触发器中为插入“RATINGS”表的每条新记录执行此操作会好得多
请帮忙
【问题讨论】:
标签: mysql if-statement sql-update multiple-columns