在一个数据表中怎样查询连续主键编号,例如主键编号是1,2,4,5,7那么1-2是连续的,
4-5是连续的,7是连续的,那么在报表就生成3行,其中起始编号为1-2,3-4,7,应该怎样写
Sql语句或者存储过程?急急急!
4-5是连续的,7是连续的,那么在报表就生成3行,其中起始编号为1-2,3-4,7,应该怎样写
Sql语句或者存储过程?急急急!
解决方案 »
- 凤凰花开,告别路口
- Translate Error . Value out of bounds. 明天就 要 演示了,大家 帮帮我 ,谢谢
- fastreport 这样的合计怎么处理? 急!!!谢谢
- fastreport里有数字字段显示时候要转化成大写数字
- 一个路由器连接下的电脑如何进行访问和窃听?
- CS高手请进哈!!!
- 在FastNet中的MNStrm和MNStrmServ必须成对出现吗?如果是,怎么样在MNStrmServ端实时取得已传输的数据流
- ##### 谁有废弃了的 CPU ?我想要` !!!!!!
- 关于数据库编程中如何在post以前取消一批数据库操作??????
- forgot2000的纯送分帖:哪位朋友五月份有旅游计划的请进来看看!一定给分。
- 迎接国庆放分......祝大家国庆节快乐
- 异常问题?
select * from table ORDER BY id DESC LIMIT $i, 2
@begindate char(16),
@enddate char(16)
AS
begin tran
declare @oldtran_id char(10)
declare @newtran_id char(10)
declare @tran_date char(16)
declare @tran_date_tmp char(16)
declare @i int
truncate table tran_old_new
declare table_cursor cursor
for
select tran_id,tran_date from saleinfo
where tran_date between @begindate and @enddate
order by tran_date
open table_cursor
fetch table_cursor into @oldtran_id,@tran_date
set @tran_date_tmp=@tran_date
set @i=1
while (@@fetch_status = 0)
begin
set @newtran_id=substring(@tran_date,4,1)+substring(@tran_date,6,2)+substring(@tran_date,9,2)+substring(cast(100000+@i as char(6)),2,5)
insert tran_old_new(oldtran_id,newtran_id,trandate)values(@oldtran_id,@newtran_id,@tran_date)
fetch next from table_cursor into @oldtran_id,@tran_date
if ( substring(@tran_date,1,10)=substring(@tran_date_tmp,1,10))
begin
set @i=@i+1
end
else
begin
set @i=1
end
set @tran_date_tmp=@tran_date
end
CLOSE table_cursor DEALLOCATE table_cursor