SELECT  * 
FROM talent, education
WHERE academic
IN ( 
SELECT academic
FROM education
WHERE Uid =26 order by academic desc limit 1) AND talent.id = education.uid

解决方案 »

  1.   

    。。
    select * from talent,education where talent.ID = education.Uid and talent.ID = '26' order by education.academic desc limit 1;
      

  2.   

    用两条SQL语句写,不要写在一个里
      

  3.   

    不好意思,再问一下,那如我想要查所有高级学历是博士的(cademic=6)的,那怎么做了
      

  4.   

    select * from talent,education where talent.ID = education.Uid and education.Academic=6
      

  5.   

    这个我也想过的:
    Id=5,name="张三"
    education里有对应张三这个人的三条记录
    Id=1 Uid=5 academic=4
    Id=2 Uid=5 academic=5
    Id=3 Uid=5 academic=6那如果我查 academic=6的确可以查出张三这条记录出来,问题在于,如果查academic=5,张三这个人一样也会出来 
    这是学历的话,就麻烦了,查个本科的,把博士查出来了,人家养不起\的啊 
      

  6.   

    talent里有一条记录
    Id=5,name="张三"education里有对应张三这个人的三条记录
    Id=1 Uid=5 academic=4
    Id=2 Uid=5 academic=5
    Id=3 Uid=5 academic=6那如果我查 academic=6的确可以查出张三这条记录出来,问题在于,如果查academic=5,张三这个人一样也会出来 
    这是学历的话,就麻烦了,查个本科的,把博士查出来了,人家养不起\的啊
      

  7.   

    这只有分做两句写了,中间用临时表过渡
    谁让你用低版本的mysql呢,mysql4.1就开始支持子查询了