比如有体育课成绩表,语文课成绩表两表,我想让体育课成绩表中的分数字段的值等于语文课成绩表里的分数字段的值,我这样写:update 体育课成绩表 a, 语文课成绩表 b, set a.分数= b.分数 where a.id = b.id ,,为什么不对,求指点~
好像不行,其中表,体育课成绩表和语文课成绩表是一对多的关系
UPDATE 體育課成績表 SET 體育課成績表.分數=( SELECT 語文課成績表.分數 FROM 語文課成績表, 體育課成績表 WHERE 體育課成績表.id = 語文課成績表.id)
或者
UPDATE Table SET Table.col1 = other_table.col1, Table.col2 = other_table.col2 FROM Table INNER JOIN other_table ON Table.id = other_table.id
update与select联合使用
update 表名 set 字段名=‘值’seclect .....
试试这个:
UPDATE 体育课成绩表 SET a.分数=b.分数 FROM 体育课成绩表 a, 语文课成绩表 b WHERE a.id = b.id
楼上正解。update时也可以进行表关联,同select
一楼正解
那就用游标吧,循环遍历赋值
一楼正解
正解。。。
1對多,最好用遊標。
根据你的sql语句,这个与一对多有关系吗?