首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 200分!!!sql语句 [已结贴,结贴人:wl__0464]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wl__0464
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-08-21 11:38:14 楼主
    1
    2
    3
    4
    5
    ...
    100
    我想输出  456123789...100或
    789123456...100


    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • shoushii
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 11:39:501楼 得分:0
    没看懂规则
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yosoft
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 11:42:002楼 得分:0
    请具体描述,是输出字符串,还是数据集?按什么规则?? 看不懂
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • freeflying1222
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 11:48:253楼 得分:0
    200分啊!呵呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kingcsx666
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 11:50:444楼 得分:0
    没看懂规则
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • qlk_2007
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 11:51:535楼 得分:0
    引用 1 楼 shoushii 的回复:
    没看懂规则
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • walkghost
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 11:52:416楼 得分:0
    引用 5 楼 qlk_2007 的回复:
    引用 1 楼 shoushii 的回复:
    没看懂规则
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sxmonsy
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 11:54:037楼 得分:0
    引用 5 楼 qlk_2007 的回复:
    引用 1 楼 shoushii 的回复:
    没看懂规则

    你多写点
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • liubaohuazy
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 11:55:538楼 得分:0
    你让兄弟们先猜谜语啊?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • stromboy007
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 12:08:519楼 得分:0
    数字然后最后是100????????
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jiang_jiajia10
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 12:12:2010楼 得分:0
    引用 1 楼 shoushii 的回复:
    没看懂规则
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • exy337
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 12:12:4711楼 得分:0
    引用 2 楼 yosoft 的回复:
    请具体描述,是输出字符串,还是数据集?按什么规则?? 看不懂
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wl__0464
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 14:21:1212楼 得分:0
    数据库中的a表
    id
    1
    2
    3
    4
    6
    ...
    100
    一直到一百。
    求一个sql语句。
    直接输出的结果,我想让1-100中的id在前面输出一个或几个,后面的正常排序。如 456123789
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • FengLing7885
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 14:32:0213楼 得分:0
    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)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • pdsnet
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 14:38:1114楼 得分:0
    引用 4 楼 kingcsx666 的回复:
    没看懂规则
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fayxue
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 14:39:0815楼 得分:0
    引用 1 楼 shoushii 的回复:
    没看懂规则
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yuchangmao
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 14:48:1216楼 得分:0
    top 加上order by
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lovehongyun
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 15:02:5617楼 得分:0
    我晕..还是没搞懂..


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wl__0464
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 15:05:5518楼 得分:0
    引用 13 楼 FengLing7885 的回复:
    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)

    先谢谢你。
    可能我没有说明白。
    是这样的,有一列数据。
    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
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lovehongyun
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 15:07:5819楼 得分:0
    一个sql语句,输出的顺序是        x x x 1 2 3 --这个123是固定的?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhangcunhua
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 15:09:1220楼 得分:0
    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)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wl__0464
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 15:13:3621楼 得分:0
    引用 19 楼 lovehongyun 的回复:
    一个sql语句,输出的顺序是        x x x 1 2 3 --这个123是固定的?

    不是固定的。随着 xxxx改变
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wl__0464
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 15:15:2722楼 得分:0
    引用 20 楼 zhangcunhua 的回复:
    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--从第几个数开始
    decla…

    对不起 我看不懂。你如果是自己写的我谢谢你,是复制的话。。。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhangcunhua
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 15:16:5223楼 得分:0
    这不就是你要的结果么
    怎么看不懂
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhangcunhua
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 15:18:1124楼 得分:0
    @j 是你要在前面放几个数
    @k 是你要从第几个数开始取
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • keyake863
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 15:49:1225楼 得分:100
    你好,200分 提供给你一个方法,解决你的问题
    SQL code
    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+')')
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhangcunhua
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 15:55:1026楼 得分:0
    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)
    调用
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • FengLing7885
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 15:57:0827楼 得分:0
    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
    ";
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xuyang840117
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 16:08:1228楼 得分:0
    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

    简单易懂
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mators
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 16:13:4629楼 得分:0
    引用 25 楼 keyake863 的回复:
    你好,200分 提供给你一个方法,解决你的问题

    SQL code
    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+')')


    这个方法好,呵呵
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • suyiming
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-08-21 16:15:3130