怎么出来这个结果?请大家看看.多谢。

yangvxin1 2003-08-24 05:03:19
数据环境 如下:

create table aa(a int,b int)

insert into aa select 10,20
insert into aa select 10,20
insert into aa select 20,20
insert into aa select 20,30
insert into aa select 20,30
insert into aa select 30,30
insert into aa select 30,40

select * from aa

declare @a int

set @a=0

update aa set a=(case when a=@a then null else a end),@a=a

select * from aa

我希望用上面的语句得到的结果是
10 20
null 20
20 20
null 30
null 30
30 30
null 40

但实际结果如下:
NULL 20
NULL 20
NULL 20
NULL 30
NULL 30
NULL 30
NULL 40

为什么,该怎么做?谢谢大家

--delete from aa

...全文
75 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
viptiger 2003-08-24
  • 打赏
  • 举报
回复
谢谢杨兄

^_^
yangvxin1 2003-08-24
  • 打赏
  • 举报
回复
不好意思 viptiger,下次一定给分,结的时候没看到你。

下次有机会补上,谢谢你。
viptiger 2003-08-24
  • 打赏
  • 举报
回复
支持大力解法
yangvxin1 2003-08-24
  • 打赏
  • 举报
回复
哎,毕竟是大力语句。呵呵。谢谢大力.
我那个好象意思都一样呀。结果不一样。哈哈。
结帖了。
pengdali 2003-08-24
  • 打赏
  • 举报
回复
create table aa(a int,b int)

insert into aa select 10,20
insert into aa select 10,20
insert into aa select 20,20
insert into aa select 20,30
insert into aa select 20,30
insert into aa select 30,30
insert into aa select 30,40

select * from aa

declare @a int,@b int

set @a=0

update aa set @b=case when a<>@a then a end,@a=a,a=@b

select * from aa

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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