如何用sql更新多个字段

我的意思是:要更新的每个字段的值,都是从另外一条记录中获取的,两条记录都在同一张表里面,我只是想把其中一条记录的数据全部放到另外一条记录中(当然主键除外)... 我的意思是:要更新的每个字段的值,都是从另外一条记录中获取的,两条记录都在同一张表里面,我只是想把其中一条记录的数据全部放到另外一条记录中(当然主键除外) 展开
 我来答
思维游戏c4
2010-02-09 · TA获得超过360个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:85.4万
展开全部
一般不需要这样操作,只要能查询到需要的结果就可以了
例:
有一个学生成绩表: StudScore
id studname subject score
1 张三 语文 80
2 张三 数学 92
3 张三 英语 73
4 李四 语文 70
5 李四 数学 86
6 李四 英语 65

查询语句
select studname,sum(语文) as 语文,sum(数学) as 数学,sum(英语) as 英语
from (select studname,
case when subject='语文' then score else 0 as 语文,
case when subject='数学' then score else 0 as 数学,
case when subject='英语' then score else 0 as 英语
from studscore) as view1
group by studname

结果:
studname 语文 数学 英语
张三 80 92 73
李四 70 86 65

这是已知科目的情况写的查询语句,如果科目未知,则需要写存储过程来实现查询
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
guodefu909
2014-09-30 · TA获得超过1463个赞
知道小有建树答主
回答量:203
采纳率:66%
帮助的人:63.6万
展开全部
sqlserver: 
    update A set A.c1=B.c1,A.c2=B.c2 from B where A.xx=B.xx and ...;
    
Oracle:
    update a set (c1,c2) =(select c1,c2 from b where a.xx=b.xx) where ...;

 这是2表关联更新的。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
powerbuildre
2010-02-09 · TA获得超过319个赞
知道小有建树答主
回答量:278
采纳率:0%
帮助的人:276万
展开全部
update table_name set A.c1=B.c1,A.c2=B.c2... from table_name A,table_name B where A.id='45223' and B.id='154156132'
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式