表cata
aaa eee ccc ddd
1 2 a 100
2 2 a null
3 1 c null
4 2 a null
5 3 a null
6 2 b null
7 2 a null
8 2 a null
9 2 a null我想把eee=2和ccc=a的ddd值按100往上加1效果是这样
aaa eee ccc ddd
1 2 a 100
2 2 a 101
3 1 c null
4 2 a 102
5 3 a null
6 2 b null
7 2 a 103
8 2 a 104
9 2 a 105
aaa eee ccc ddd
1 2 a 100
2 2 a null
3 1 c null
4 2 a null
5 3 a null
6 2 b null
7 2 a null
8 2 a null
9 2 a null我想把eee=2和ccc=a的ddd值按100往上加1效果是这样
aaa eee ccc ddd
1 2 a 100
2 2 a 101
3 1 c null
4 2 a 102
5 3 a null
6 2 b null
7 2 a 103
8 2 a 104
9 2 a 105
解决方案 »
- 转换 nvarchar 值 '6222076204013687956' 时溢出了整数列
- 连接字符串中的Integrated Security=SSPI 是什么意思啊?有用吗??
- 关于数据库优化???
- 为什么set implicit_transactions 没有起作用
- 通过端口 1433 连接到主机 127.0.0.1 的 TCP/IP 连接失败。错误:“Connection refused: connect。
- 怎样取得最后的分割字符,谢谢解答!详情请看内容。
- 发贴散分100,谢谢大家以往的帮助
- 菜鸟问问题:sql server 2000 数据库同步的问题,很简单
- QuickRep中如何计算总页面?
- 这样的功能如何实现!!!!
- 合并再统计,求一条SQL或存储过程。急/在线等待
- 查询分析器中有设置:将制表符保存为空格,这个设置作用何在呀?
set ddd = isnull(ddd,0) + 100
where eee = 2 and ccc = 'a'
update cata
set ddd = isnull(ddd,0) + 1
where eee = 2 and ccc = 'a'
declare @t table(aaa int, eee int, ccc varchar(2), ddd int)
insert @t select
1 , 2 ,'a', 100 union select
2 , 2 ,'a', null union select
3 , 1 ,'c', null union select
4 , 2 ,'a', null union select
5 , 3 ,'a', null union select
6 , 2 ,'b', null union select
7 , 2 ,'a', null union select
8 , 2 ,'a', null union select
9 , 2 ,'a', null
declare @i int
set @I = -1update @t
set ddd = @i,@i =isnull(ddd,0) + @i +1
where eee = 2 and ccc = 'a'
select * from @t
/*
aaa eee ccc ddd
1 2 a 100
2 2 a 101
3 1 c null
4 2 a 102
5 3 a null
6 2 b null
7 2 a 103
8 2 a 104
9 2 a 105
*/
if object_id('tempdb.dbo.#cata') is not null drop table #cata
create table #cata (aaa int,eee int,ccc varchar(1),ddd int)
insert into #cata
select 1,2,'a',100 union all
select 2,2,'a',null union all
select 3,1,'c',null union all
select 4,2,'a',null union all
select 5,3,'a',null union all
select 6,2,'b',null union all
select 7,2,'a',null union all
select 8,2,'a',null union all
select 9,2,'a',nullupdate a set ddd=(select 99+count(1) from #cata where aaa<=a.aaa and eee=2 and ccc='a') from #cata a where ddd is null and eee=2 and ccc='a'select * from #cata
/*
aaa eee ccc ddd
1 2 a 100
2 2 a 101
3 1 c null
4 2 a 102
5 3 a null
6 2 b null
7 2 a 103
8 2 a 104
9 2 a 105
*/