select 
    a.本社名称,
    b.媒体CD  ,
    b.媒体名称
from
    T_HONSHA a,
    T_BAITAI b
where
    a.本社CD = b.本社CD
    and
    b.媒体CD = (select 媒体CD from (select rownum as id,* from T_BAITAI where 本社CD=a.本社CD) where id=1)

解决方案 »

  1.   

    我最初的思路也和 libin_ftsafe(子陌红尘)一样,但是上面那个SQL好像有错,因为a.本社CD不能解析。
      

  2.   

    试试这个:
    --------------------------------------------------------------
    select 
        a.本社名称,
        b.媒体CD  ,
        b.媒体名称
    from
        T_HONSHA a,
        T_BAITAI b
    where
        a.本社CD = b.本社CD
        and
        b.媒体CD = (select 媒体CD from T_BAITAI where 本社CD=a.本社CD and rownum=1)
      

  3.   

    select 
        a.本社名称,
        b.媒体CD  ,
        b.媒体名称
    from
        T_HONSHA a,
        T_BAITAI b
    where
        a.本社CD = b.本社CD
        and
        b.媒体CD = (select min(媒体CD) from T_BAITAI where 本社CD=b.本社CD)不是说后面的表排序了吗?就用min好了。剽窃了libin_ftsafe(子陌红尘)的句子:)
      

  4.   

    Alkeen()的语句有一些错误,子查询中没有group by 就用min,呵呵,可能写的太急了。
    select 
        a.本社名称,
        b.媒体CD  ,
        b.媒体名称
    from
        T_HONSHA a,
        T_BAITAI b
    where
        a.本社CD = b.本社CD
        and
        b.媒体CD = (select min(媒体CD) from T_BAITAI where 本社CD=b.本社CD group by 本社CD)
      

  5.   

    如获取每个部门薪水前三名的员工或每个班成绩前三名的学生。
    Select * from 
    (select depno,ename,sal,row_number() over (partition by depno
    order by sal desc) rn 
    from emp)
    where rn<=3