谁帮我看看这个语句哪里不对?

qq_37753824 2019-05-07 02:42:17
Create table #tabl
(
Id int,
Amount float,
PId int
)
insert into #tabl values(1,100,null)
insert into #tabl values(2,200,null)
insert into #tabl values(3,null,1)
insert into #tabl values(4,null,2)

update #tabl set Amount=a.Amount
from #tabl a
where a.Id=PId
and Amount is null

select * from #tabl
drop table #tabl
为什么我这个update语句没作用?
...全文
67 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_37753824 2019-05-07
  • 打赏
  • 举报
回复
引用 2 楼 Dear SQL 的回复:
Create table #tabl
(
Id int,
Amount float,
PId int
)
insert into #tabl values(1,100,null)
insert into #tabl values(2,200,null)
insert into #tabl values(3,null,1)
insert into #tabl values(4,null,2)

update b set Amount=a.Amount
from #tabl a
,#tabl b
where a.Id=b.PId
and b.Amount is null

select * from #tabl
drop table #tabl
谢谢哥们 原来是这样啊。。
Dear SQL(燊) 2019-05-07
  • 打赏
  • 举报
回复
Create table #tabl
(
Id int,
Amount float,
PId int
)
insert into #tabl values(1,100,null)
insert into #tabl values(2,200,null)
insert into #tabl values(3,null,1)
insert into #tabl values(4,null,2)

update b set Amount=a.Amount
from #tabl a
,#tabl b
where a.Id=b.PId
and b.Amount is null

select * from #tabl
drop table #tabl
Dear SQL(燊) 2019-05-07
  • 打赏
  • 举报
回复


Create table #tabl
(
Id int,
Amount float,
PId int
)
insert into #tabl values(1,100,null)
insert into #tabl values(2,200,null)
insert into #tabl values(3,null,1)
insert into #tabl values(4,null,2)

update #tabl set Amount=a.Amount
from #tabl a
where a.Id=PId
and Amount is null

update b set Amount=a.Amount
from #tabl a
,#tabl b
where a.Id=b.PId
and b.Amount is null

select * from #tabl
drop table #tabl

/*
Id          Amount                 PId
----------- ---------------------- -----------
1           100                    NULL
2           200                    NULL
3           100                    1
4           200                    2

(4 行受影响)
*/

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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