如何用sql更新多个字段
我的意思是:要更新的每个字段的值,都是从另外一条记录中获取的,两条记录都在同一张表里面,我只是想把其中一条记录的数据全部放到另外一条记录中(当然主键除外)...
我的意思是:要更新的每个字段的值,都是从另外一条记录中获取的,两条记录都在同一张表里面,我只是想把其中一条记录的数据全部放到另外一条记录中(当然主键除外)
展开
3个回答
展开全部
一般不需要这样操作,只要能查询到需要的结果就可以了
例:
有一个学生成绩表: 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
这是已知科目的情况写的查询语句,如果科目未知,则需要写存储过程来实现查询
例:
有一个学生成绩表: 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
这是已知科目的情况写的查询语句,如果科目未知,则需要写存储过程来实现查询
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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表关联更新的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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'
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询