当前位置: 代码迷 >> Sql Server >> 数段,查询有关问题!速度来吧
  详细解决方案

数段,查询有关问题!速度来吧

热度:47   发布时间:2016-04-27 14:44:16.0
数段,查询问题!速度来吧
表A
name xbegin xend 
哈 1830250 1830252

查出一下结果

name xbegin  
哈 1830250
哈 1830251
哈 1830252



------解决方案--------------------
SQL code
select * from 表A where name='哈'
------解决方案--------------------
SQL code
declare @表A table (name varchar(2),xbegin int,xend int)insert into @表Aselect '哈',1830250,1830252select name,xbegin=a.xbegin+number from @表A  a left join (select number from master..spt_values where type='p') b on 1=1where number <=xend-xbegin/*name xbegin---- -----------哈    1830250哈    1830251哈    1830252*/
------解决方案--------------------
关联master..spt_values做数据。。。
------解决方案--------------------
SQL code
select name,xbegin=a.xbegin+number from 表A a left join (select number from master..spt_values where type='p') b on 1=1where number <=xend-xbegin
------解决方案--------------------
SQL code
declare @表A table (name varchar(2),xbegin int,xend int)insert into @表Aselect '哈',1830250,1830252 select s.name,s.xbegin+number as xbegin from @表A s join master..spt_values  on 1=1 where number<=xend-xbegin and type='p'(1 行受影响)name xbegin---- -----------哈    1830250哈    1830251哈    1830252(3 行受影响)
  相关解决方案