alter table tablename id int identity(1,1)
go
select 姓名,操作,[上一步]=case when id=1 then '空'
else (select 操作 from tablename where id=a.id-1)
end
from tablename a
go
alter table tablename drop column id
go
select 姓名,操作,[上一步]=case when id=1 then '空'
else (select 操作 from tablename where id=a.id-1)
end
from tablename a
go
alter table tablename drop column id
解决方案 »
- MS SQL INSERT INTO 语句
- 我想将,1.2的值输出为2凡是有小数点的都进一 怎么实现?
- SQL SERVER 创建了聚类索引,查询后是否还需要排序??求高手指教
- 没办法设置主键的表大家都是怎么处理的?
- 一个关于投票功能的SQL存储过程,寻求解决办法[拜托了]
- Sql 语句嵌套查询问题
- 求大侠指教用left join、right join这类关键字有啥好处
- 关于触发器的基础问题(并不难,可我却特别糊涂,绕进去了>_<)
- 请教,如何给表添加个序号字段自动流水号?
- 如果不使用游标,怎么做?
- 100分请教高手:如何在sqlserver中实现:删除多级分类表中,某类别及其所有子类别???(既删除树)
- 有一个登录处于登录状态,删不掉,能否有办法使它变成非登录状态,然后删掉这个登录
Create Table 表(姓名 varchar(10),操作 varchar(10),步骤 int)
--插入数据
insert into 表
select 'AAA','A',1 union
select 'BBB','B',4 union
select 'CCC','C',3 union
select 'DDD','D',5 union
select 'EEE','E',2
select * from 表
--测试语句
select a.姓名, a.操作, 上一步 = IsNull(b.操作, '空')
from 表 a left join 表 b
on a.步骤 = b.步骤 + 1
--删除测试环境
Drop Table 表
Create Table 表(姓名 varchar(10),操作 varchar(10),步骤 int)
--插入数据
insert into 表
select 'AAA','A',1 union
select 'BBB','B',4 union
select 'CCC','C',3 union
select 'DDD','D',5 union
select 'EEE','E',2
--测试语句
select 姓名,操作,[上一步]=case when 步骤=1 then '空'
else (select 操作 from 表 where 步骤=a.步骤-1)
end
from 表 a
order by 步骤
--删除测试环境
Drop Table 表--结果
/*
姓名 操作 上一步
AAA A 空
EEE E A
CCC C E
BBB B C
DDD D B*/
--------
结果:
BBB B C
CCC C E
DDD D B
EEE E A
Select
姓名,
操作,
IsNull((Select 操作 from 表 Where 步骤=A.步骤-1 ),N'空') As 上一步
from 表 A