如何使⽤select的结果在update语句中
这是我的select语句:
select  convert(numeric(10,2),sum(⾦额)) as 总⾦额 from 处⽅表 where 住院号='20191223001') where 住院号
='20191223001'
然后我的⽬的是想能够这样
update 账单表 set 总⾦额=(select的结果) where 住院号='20191223001'
sql语句中declare⼀个变量,类似:select 变量=convert(numeric(10,2),sum(⾦额))  from xx ,然后set赋值即可。
2个⽅法,
1 设置⼀个 变量
declare @num;
select  @num=convert(numeric(10,2),sum(⾦额)) as 总⾦额 from 处⽅表 where 住院号='20191223001') where 住院号
='20191223001'
update 表 xxx=@num  where ......
第⼆个⽅法,就是sql语句直接放到 update
update 表 xxx=(select ...........)  where ......
⽤with 也可以
SQL就那么⼏条语句⽤多了就⾃然熟悉了,驾轻就熟,游刃有余,读书多遍其意⾃现等等先贤名⾔.
把SQL语句写成⼀个类⽂件,然后拼接各种语句传递去执⾏就是.
update tablename set columnname=(select top 1 columnname2 from tablenam2)sql中update什么意思
update a lumn
from tablename1 as  a,tablename2 as b
where a.primarykey=b.primarykey
可以放在⼀起写,但是select只能有⼀⾏数据返回,还要对应的数据类型要能转换才⾏
附上代码
declare @num float
select  convert(numeric(10,2),sum(⾦额))  from 处⽅表 where 住院号='201912230001'
update 账单表 set 总⾦额=@num where 住院号='201912230001'
update 账单表 set 总⾦额=(select  convert(numeric(10,2),sum(⾦额))  from 处⽅表 where 住院号='201912230001')where 住院号='201912230001'
刚刚运⾏成功了 第⼀种⽅法是我没将select的结果赋值给@num第⼆种⽅法 刚刚也成功了 不过我忘了之前是哪⾥出了错误

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。