首页 新闻 搜索 专区 学院

求指点,update 语句,sql,

0
[已解决问题] 解决于 2012-04-16 12:58

比如有体育课成绩表,语文课成绩表两表,我想让体育课成绩表中的分数字段的值等于语文课成绩表里的分数字段的值,我这样写:update 体育课成绩表 a, 语文课成绩表 b, set a.分数= b.分数 where a.id = b.id ,,为什么不对,求指点~

问题补充:

好像不行,其中表,体育课成绩表和语文课成绩表是一对多的关系

Philomena的主页 Philomena | 初学一级 | 园豆:154
提问于:2012-04-13 11:04
< >
分享
最佳答案
0
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 .....

 

可以參考:http://forums.mysql.com/read.php?61,15029,15029

奖励园豆:5
Ron Ngai | 菜鸟二级 |园豆:296 | 2012-04-13 13:10
其他回答(7)
-1

试试这个:

UPDATE 体育课成绩表
SET a.分数=b.分数
FROM 体育课成绩表 a, 语文课成绩表 b
WHERE a.id = b.id
dudu | 园豆:37795 (高人七级) | 2012-04-13 11:08
0

楼上正解。update时也可以进行表关联,同select

lucika.zh | 园豆:59 (初学一级) | 2012-04-13 11:14
0

一楼正解

轻狂の书生 | 园豆:1040 (小虾三级) | 2012-04-13 11:17

那就用游标吧,循环遍历赋值

支持(0) 反对(0) 轻狂の书生 | 园豆:1040 (小虾三级) | 2012-04-13 12:53
0

一楼正解

嘉华 | 园豆:106 (初学一级) | 2012-04-13 11:20
0

正解。。。

KivenRo | 园豆:1722 (小虾三级) | 2012-04-13 12:58
0

1對多,最好用遊標。

無限遐想 | 园豆:3740 (老鸟四级) | 2012-04-13 13:39
0

根据你的sql语句,这个与一对多有关系吗?

小小刀 | 园豆:1991 (小虾三级) | 2012-04-13 20:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册