地区表 (terr为地区城市)id    name       terr
...   .....       ...
323    福田区      深圳市
test表(areaID 为地区ID)id    areaID
..    ......
33   323需求:查询和test表记录33的同一个地区城市的10条记录

解决方案 »

  1.   

    select top 10 * from test where areaid = (select areaid from test where id = 33)
      

  2.   

    to dawugui(潇洒老乌龟)并不是323 才属于深圳  可能322,321 也是属于深圳
    你这种结果只能查到areaID为323的情况
      

  3.   

    select top 10 * from 地区表 where id = (select areaid from test where id = 33)
    楼上的正解,呵呵~~
      

  4.   

    随便取10条?还是有什么排序规则?
    select top 10 * from test where areaid in (select areaid from test where id = 33)
      

  5.   

    select top 10 * from test where areaid in (select id from 地区表 where terr = select terr from 地区表 where id = 323)
      

  6.   

    hoho...
    lz 到底是要什么结果哦?
      

  7.   

    hoho...
    lz 到底是要什么结果哦?
      

  8.   


    select top 10 a.* from test a,地区表  b
    where a.areaID=b.id
    and b.terr=(
    select b1.terr from test a1,地区表  b1
    where a1.areaID=b1.id
    a1.id=33
    )
      

  9.   

    select top 10 * from test where areaid in (select id from 地区表 where (terr = select terr from 地区表 where id = 323))老乌龟这个答案是正确的 但是忘记写括号了  ^_^不过我觉得这样效率不高。。大家还有没有好的答案
      

  10.   

    不是这么写?
    SELECT TOP 10 * FROM terr
    WHERE ID IN (SELECT areaid FROM test WHERE ID = 33)
      

  11.   

    select top 10
      *
    from  
      地区表 a 
    where
      terr = (select 
                 terr 
               from 
                 地区表
               where id =(select areaId from test b where b.id=33))
      

  12.   

    select top 10 * from terr where id in(select areaid from test where id = 33)
      

  13.   

    我个人觉得 hhhdyj(萤火虫) 的回答最精练了,呵呵不知有没能误解楼主的要求