SELECT * FROM (SELECT a.*, ROWNUM RN    FROM (SELECT * FROM sasa) a WHERE u_id in (select u_id from friend where uf_id=241) and  ROWNUM <7 )WHERE RN >0 SELECT * FROM (SELECT a.*, ROWNUM RN    FROM (SELECT * FROM sasa) a WHERE u_id in (select uf_id from friend where u_id=241) and  ROWNUM <4 )WHERE RN >0怎么才能把这两个合成一个呢?

解决方案 »

  1.   

    你想要什么样的效果?
    用union all?
      

  2.   

    我想要查出u_id=241的所有的好友,一页显示9条数据
      

  3.   


    第一个的查询不是包含第二个查询的结果吗?如果要两个查询的结果连接在一起显示的话用union all
      

  4.   

    感觉楼主是不是写的冗余了。SELECT a.*, ROWNUM RN
    FROM sasa a
    WHERE a.u_id in (select u_id from friend where uf_id=241) 
       and ROWNUM .....这样试试。 
      

  5.   

    不知道LZ要干什么。RN永远大于0,故RN>0条件可以省略。--1.
    SELECT *
      FROM (SELECT a.*, ROWNUM RN
              FROM (SELECT * FROM sasa) a
             WHERE u_id in (select u_id 
                              from friend 
                            where uf_id = 241)
                              and ROWNUM < 7
                             );
     --WHERE RN > 0--2.
    SELECT *
      FROM (SELECT a.*, ROWNUM RN
              FROM (SELECT * FROM sasa) a
             WHERE u_id in (select u_id 
                              from friend 
                            where uf_id = 241)
                              and ROWNUM < 4
                             )
       --WHERE RN > 01和2明显存在3条重复记录。你是要去重呢?还是并上重呢?