本帖最后由 y34ml 于 2010-05-05 11:32:05 编辑

解决方案 »

  1.   

    select * from yiyuan aa inner join area bb
    on aa.dqid=bb.id
    where aa.id in(select top 10 id from yiyuan where dqid=aa.dqid)
      

  2.   

    select area.*,yiyuan.yiyuan from
    (
    select id,name,fid from area where patindex('11%%00',cast(fid as varchar))>0
    ) area
    cross apply (
    (select top 10 yiyuan from yiyuan where yiyuan.dqid=area.id)
    )  yiyuan
      

  3.   

    select *
    from area a
    cross apply(select top 10 yiyuan from yiyuan where dqid=a.id) b
    where patindex('11%%00',cast(a.fid as varchar))>0
      

  4.   

    select t.id,t.yiyuan,t.dqid from yiyuan1 t where t.dqid in (select id as aid from area where patindex('11%%00',cast(fid as varchar))>0) and (select count(1) from yiyuan1 where dqid=t.dqid and dqid in (select id as aid from area where patindex('11%%00',cast(fid as varchar))>0) and id>t.id)<=9 order by dqid,id desc
    自己解决了