1
2
3
4
5
...
100
我想输出  456123789...100或
789123456...100

解决方案 »

  1.   

    数据库中的a表
    id
    1
    2
    3
    4
    6
    ...
    100
    一直到一百。
    求一个sql语句。
    直接输出的结果,我想让1-100中的id在前面输出一个或几个,后面的正常排序。如 456123789
      

  2.   

    select top 3 id from tabel where id not in(select top 3 id from table)
    union join select top 3 id from table union join select top 3 id from tabel 
    where id not in(select top 6 id from table)
      

  3.   

    先谢谢你。
    可能我没有说明白。
    是这样的,有一列数据。
    id   images
    1     1.gif
    2     2.gif
    3     3.gif
    4     4.gif
    5     5.gif
    6     6.gif
    ...
    100   100.gif   从1-100 个
    一个sql语句,输出的顺序是         x x x 1 2 3 
    x是1-100之间的id,x的个数在6以下, 如果x的个数是2个,分别等于 3 4 
    那么 输出的顺序是 341256
    如果 x个数是3 分别是 4 5 6 那么输出是 4 5 6 1 2 3
      

  4.   

    一个sql语句,输出的顺序是        x x x 1 2 3  --这个123是固定的?
      

  5.   

    create table zi(
    id int
    )declare @sql nvarchar(4000)
    set @sql = 'insert into zi'
    declare @i int
    set @i = 1
    while @i<100
    begin
    set @sql = @sql +' select '+cast(@i as nvarchar(10))+ ' union all ' 
    set @i =@i +1
    end
    set @sql = @sql +' select 100'
    print @sql
    exec(@sql) declare @j int
    set @j = 4--选择输出的个数
    declare @k int
    set @k = 5--从第几个数开始
    declare @sql nvarchar(4000)
    set @sql = ''
    declare @sql1 nvarchar(4000)
    set @sql1 = ''
    declare @sql2 nvarchar(4000)
    set @sql2 = ''
    declare @sql3 nvarchar(4000)
    set @sql3 = ''
    set @sql = @sql +'select top '+ cast(@k as nvarchar(10)) +' id from zi'
    set @sql1 = @sql1 +'select top '+ cast(@j as nvarchar(10)) +'id from zi where id not in( '+@sql +')'
    set @sql2 = @sql2 +'select id from zi where id not in (select top '+cast((@k+@j) as nvarchar(10))+'id from zi)'
    set @sql3 = @sql1+' union all '
    set @sql3=@sql3+@sql 
    set @sql3=@sql3 +' union all '
    set @sql3=@sql3+@sql2
    exec(@sql3)
      

  6.   

    不是固定的。随着 xxxx改变
      

  7.   

    你好,200分 提供给你一个方法,解决你的问题declare @selectTop as varchar(20)
    set @selectTop='4,5,6'--@selectTop是你动态选择首先输出的行的id
    EXEC('select * from table_1 where id in('+@selectTop+')union all select * from table_2 where id not in('+@selectTop+')')
      

  8.   

    alter function decide
    (
    @k int,
    @j int
    )
    returns  nvarchar(4000)
    as
    begin
    declare @sql4 nvarchar(4000)
    set @sql4 = ''
    declare @sql1 nvarchar(4000)
    set @sql1 = ''
    declare @sql2 nvarchar(4000)
    set @sql2 = ''
    declare @sql3 nvarchar(4000)
    set @sql3 = ''
    set @sql4 = @sql4 +'select top '+ cast(@k as nvarchar(10)) +' id from zi'
    set @sql1 = @sql1 +'select top '+ cast(@j as nvarchar(10)) +'id from zi where id not in( '+@sql4 +')'
    set @sql2 = @sql2 +'select id from zi where id not in (select top '+cast((@k+@j) as nvarchar(10))+'id from zi)'
    set @sql3 = @sql1+' union all '
    set @sql3=@sql3+@sql4 
    set @sql3=@sql3 +' union all '
    set @sql3=@sql3+@sql2--exec(@sql3)
    return @sql3
    end函数
    declare @s nvarchar(4000)
    set @s=dbo.decide(4,5)
    exec(@s)
    调用
      

  9.   

    string sql_Select_Org_ByPager = @"
    declare @PageSize int
    declare @PageIndex int
    declare @PageLowerBound int
    declare @PageUpperBound int
    declare @RowsToReturn int
    SET @PageSize = {0}
    SET @PageIndex = {1} --需要返回的结果范围
    SET @PageLowerBound = @PageSize * @PageIndex
    SET @PageUpperBound = @PageLowerBound + @PageSize + 1
    SET @RowsToReturn = @PageSize * (@PageIndex + 1) --设置最大返回的行数
    SET ROWCOUNT @RowsToReturn CREATE TABLE #PageIndex
    (
    IndexID int IDENTITY (1, 1) NOT NULL,
    ID varchar(100)
    ) insert into #PageIndex(ID)
    select ID from ORG_INFO {2} order by LEVEL {3}
    Where ID in 
    (
    SELECT
    ID
    FROM 
    #PageIndex
    WHERE 
    #PageIndex.IndexID > @PageLowerBound AND
    #PageIndex.IndexID < @PageUpperBound
    )
    order by LEVEL drop table #PageIndex SET ROWCOUNT 0
    ";
      

  10.   

    x是id  个数是n
    select id  images  from table a where a>x and a<=x+n
    union
    select id  images  from table a where a<=x 
    union
    select id  images  from table a where x>x+n and x<=100简单易懂
      

  11.   

    select * from table_1 where id in('+@selectTop+')union all select * from table_2 where id not in('+@selectTop+')
      

  12.   

    select top @selectTop * from table_1 where id not in(select top @tops id from table_1)
    union all select * from table_1 where id not in(select top @selectTop * from table_1 where id not in
    (select top @tops id from table_1))
      

  13.   

    select * from tab1 where id in('2','3')
    union all 
    select * from tab2 where id not in('2','3')
      

  14.   

    以下脚本 sql 2k 5 中通过, 你参考一下:USE [test]
    GO
    /****** Object:  Table [dbo].[Table_1]    Script Date: 08/21/2008 16:56:33 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[Table_1](
    [id] [int] NULL,
    [images] [varchar](50) NULL
    ) ON [PRIMARY]GO
    SET ANSI_PADDING OFF
    create proc usp_dynamic @a varchar(30)
    asdeclare @selectTop as varchar(20)
    set @selectTop= @a --@selectTop是你动态选择首先输出的行的id
    EXEC('select * from table_1 where id in('+@selectTop+
    ')union all select * from table_1 where id not in('+@selectTop+')')
      

  15.   

    usp_dynamic '3,4'--output3 3.gif
    4 4.gif
    1 1.gif
    2 2.gif
    5 5.gif
    6 6.gif
    7 7.gifusp_dynamic '4,5,6'4 4.gif
    5 5.gif
    6 6.gif
    1 1.gif
    2 2.gif
    3 3.gif
    7 7.gif
      

  16.   

    <FONT color=#ff0000><A href="http://www.hao123.com/"><BLINK>dsafdsadfsadsf </BLINK></A></FONT>