如何把结果更新到原表中

moshangdanqing 2018-02-08 10:37:18
a b
1 3
2 4

建立表f,两个字段a,b。把a+b的和做为c字段添加到原表中。需要的结果是表f里面数据变成
a b c
1 3 4
2 4 6
...全文
1298 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
moshangdanqing 2018-02-08
  • 打赏
  • 举报
回复
引用 6 楼 roy_88 的回复:
不用计算列时,这样用处理 e.g.
ALTER TABLE f ADD c INT;
GO
UPDATE f SET c=a+b
这是不是你要的效果?
是我想要的结果,谢谢!
moshangdanqing 2018-02-08
  • 打赏
  • 举报
回复
引用 4 楼 sinat_28984567 的回复:
[quote=引用 3 楼 moshangdanqing 的回复:] [quote=引用 2 楼 sinat_28984567 的回复:]
--测试数据
if not object_id(N'f') is null
	drop table f
Go
Create table f([a] int,[b] int)
Insert f
select 1,3 union all
select 2,4
Go
--测试数据结束
Select *,a+b AS c from f
需要把结果返回到表f中,让表中的数据改变。而不是只要结果。[/quote] 这一列是想干什么?如果只是显示就没必要加一列,如果会对这列进行update等操作,就加一列,用一楼大版的代码就行[/quote]
引用 4 楼 sinat_28984567 的回复:
[quote=引用 3 楼 moshangdanqing 的回复:] [quote=引用 2 楼 sinat_28984567 的回复:]
--测试数据
if not object_id(N'f') is null
	drop table f
Go
Create table f([a] int,[b] int)
Insert f
select 1,3 union all
select 2,4
Go
--测试数据结束
Select *,a+b AS c from f
需要把结果返回到表f中,让表中的数据改变。而不是只要结果。[/quote] 这一列是想干什么?如果只是显示就没必要加一列,如果会对这列进行update等操作,就加一列,用一楼大版的代码就行[/quote] 之前每次运算的结果返回到新表中,然后用新表的数据再进行下一步操作,我想省掉建新表的过程,直接想把结果返回到原表中,再进行下一步的的操作
中国风 2018-02-08
  • 打赏
  • 举报
回复
不用计算列时,这样用处理 e.g.
ALTER TABLE f ADD c INT;
GO
UPDATE f SET c=a+b
这是不是你要的效果?
moshangdanqing 2018-02-08
  • 打赏
  • 举报
回复
引用 1 楼 roy_88 的回复:
可新增计算列,不维护栏位C时可这样处理如 alter table tab1 add c as a+b
能否具体点
二月十六 2018-02-08
  • 打赏
  • 举报
回复
引用 3 楼 moshangdanqing 的回复:
[quote=引用 2 楼 sinat_28984567 的回复:]
--测试数据
if not object_id(N'f') is null
	drop table f
Go
Create table f([a] int,[b] int)
Insert f
select 1,3 union all
select 2,4
Go
--测试数据结束
Select *,a+b AS c from f
需要把结果返回到表f中,让表中的数据改变。而不是只要结果。[/quote] 这一列是想干什么?如果只是显示就没必要加一列,如果会对这列进行update等操作,就加一列,用一楼大版的代码就行
二月十六 2018-02-08
  • 打赏
  • 举报
回复
--测试数据
if not object_id(N'f') is null
drop table f
Go
Create table f([a] int,[b] int)
Insert f
select 1,3 union all
select 2,4
Go
--测试数据结束
Select *,a+b AS c from f


moshangdanqing 2018-02-08
  • 打赏
  • 举报
回复
引用 2 楼 sinat_28984567 的回复:
--测试数据
if not object_id(N'f') is null
	drop table f
Go
Create table f([a] int,[b] int)
Insert f
select 1,3 union all
select 2,4
Go
--测试数据结束
Select *,a+b AS c from f
需要把结果返回到表f中,让表中的数据改变。而不是只要结果。
中国风 2018-02-08
  • 打赏
  • 举报
回复
可新增计算列,不维护栏位C时可这样处理如 alter table tab1 add c as a+b

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧