select * from TB1
union all
select * from TB2
union all
select * from TB3这样?

解决方案 »

  1.   

    ;with t
    as(
    select a.*,ROW_NUMBER()over(order by (select 1)) as rn
    from
    (
    --这里面写三张表联立SQL
    )A
    )
    select
    * from  t where rn>0 and rn<=10 order by 排序字段 desc
      

  2.   

    ZHEYANG?SELECT *
     FROM
       (SELECT A. * ,
         RN=row_number()over(order by 排序字段)
       FROM
         (
         ...
         --这里面写三张表联立SQL
         ...
         ) A
       WHERE RN<= 10
      
       )
     WHERE RN > 0 
      

  3.   

    只需要吧oracle中的ROWNUM部分改成sql server中的
    ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN)ps.sql server 2005 以上
      

  4.   


    肯定有语法错误啥,--按照下面的格式改,三楼给出来了,有看过吗?
    select
    * from (
    select a.*,ROW_NUMBER()over(order by (select 1)) as rn
    from
    (
    --这里面写三张表联立SQL
    )A
    ) t where rn>0 and rn<=10 order by 排序字段 desc
      

  5.   


    能写全吗   我不懂啊   我用的 是sql2005
      

  6.   

    6楼肯定有错误啊,因为第一where的时候rn还没有生成,先要等rn生成了,再在那个结果集上加一层select才能用rn
      

  7.   


    肯定有语法错误啥,--按照下面的格式改,三楼给出来了,有看过吗?
    select
    * from (
    select a.*,ROW_NUMBER()over(order by (select 1)) as rn
    from
    (
    --这里面写三张表联立SQL
    )A
    ) t where rn>0 and rn<=10 order by 排序字段 desc
    高手 你们能先执行一下吗  我 不是很懂啊   就是搞不定才求救啊 还是语法错误   3楼 哪 我没看懂  执行错误太多
      

  8.   


    肯定有语法错误啥,--按照下面的格式改,三楼给出来了,有看过吗?
    select
    * from (
    select a.*,ROW_NUMBER()over(order by (select 1)) as rn
    from
    (
    --这里面写三张表联立SQL
    )A
    ) t where rn>0 and rn<=10 order by 排序字段 desc
    高手 你们能先执行一下吗  我 不是很懂啊   就是搞不定才求救啊 还是语法错误   3楼 哪 我没看懂  执行错误太多按照给你的这个格式,你改一下啊。把你修改后的语句贴出来,别放图片
      

  9.   


    肯定有语法错误啥,--按照下面的格式改,三楼给出来了,有看过吗?
    select
    * from (
    select a.*,ROW_NUMBER()over(order by (select 1)) as rn
    from
    (
    --这里面写三张表联立SQL
    )A
    ) t where rn>0 and rn<=10 order by 排序字段 desc
    高手 你们能先执行一下吗  我 不是很懂啊   就是搞不定才求救啊 还是语法错误   3楼 哪 我没看懂  执行错误太多
      

  10.   

    select
    * from (
    select a.*,ROW_NUMBER()over(order by (select 1)) as rn
    from
    (
    select * from KnowledgeMain km inner join KnowledgeMainCategory kmc on 
                            km.categoryid=kmc.categoryid
    )A
    ) t where rn>0 and rn<=10消息 102,级别 15,状态 1,第 3 行
    '(' 附近有语法错误。
    消息 102,级别 15,状态 1,第 10 行
    ')' 附近有语法错误。
      

  11.   

    select
    * from (
    select a.*,ROW_NUMBER()over(order by (select 1)) as rn
    from
    (
    select * from KnowledgeMain km inner join KnowledgeMainCategory kmc on 
                            km.categoryid=kmc.categoryid
    )A
    ) t where rn>0 and rn<=10--真服了,我这里的括号是中文输入的,所以报错,一看就看出来了嘛
      

  12.   


    SELECT a.*
    FROM
      (select a.* from 
    (
    SELECT a.*,row_number() over(order by [time]) as rn
      FROM (select * from a) a
    )a
      WHERE a.RN <= 10
      )a
    WHERE a.RN > 0
      

  13.   

    select
    * from (
    select a.*,ROW_NUMBER()over(order by (select 1)) as rn
    from
    (
    select * from KnowledgeMain km inner join KnowledgeMainCategory kmc on 
                            km.categoryid=kmc.categoryid
    ) A
    ) t where rn>0 and rn<=10
    消息 8156,级别 16,状态 1,第 2 行
    多次为 'a' 指定了列 'ID'。
    消息 8156,级别 16,状态 1,第 2 行
    多次为 't' 指定了列 'ID'。没出来  晕了
      

  14.   

    SELECT a.*
    FROM
      (select a.* from 
    (
    SELECT a.*,row_number() over(order by [time]) as rn
      FROM (select * from a) a
    )a
      WHERE a.RN <= 10
      )a
    WHERE a.RN > 0
    消息 8156,级别 16,状态 1,第 1 行
    多次为 'a' 指定了列 'ID'。
    消息 207,级别 16,状态 1,第 5 行
    列名 'time' 无效。
    消息 8156,级别 16,状态 1,第 5 行
    多次为 'a' 指定了列 'ID'。
    消息 8156,级别 16,状态 1,第 5 行
    多次为 'a' 指定了列 'ID'。