select t.caller,c.rd_name from  (select * from callflow order by calltime desc limit 0,1) t,clients c  where t.caller='0531'+c.homephone
这个sql语句 出来的数据 为什么 rd_name为null呢? 明明有对应的数据啊。       子查询出来的是一条记录。 clients 表 有对应的数据。为什么出不来呢? 急求解。。

解决方案 »

  1.   

    这语句不能这样写吧,试试这个:
    select t.caller,c.rd_name from (select * from callflow order by calltime desc limit 0,1) t left join clients c on t.caller='0531'+c.homephone
      

  2.   


    哦呵呵, 我试过这个语句了, 那个rd_name还是null 出不来啊 
      

  3.   

    权且不说 t.caller='0531'+c.homephone 可能产生的语法错误,就当做是正确的
    你的子查询只是得到了 callflow.calltime 最大的那一条记录
    而恰恰又能满足条件 t.caller='0531'+c.homephone 的概率是太小了
      

  4.   

    callflow出来的话是一条记录啊。这一条记录跟clients 进行对应,肯定会有的啊?是不是我理解错误了。您能帮忙讲解一下吗?