+ -
当前位置:首页 → 问答吧 → mysql 子查询后左联接遇到了问题。

mysql 子查询后左联接遇到了问题。

时间:2011-09-17

来源:互联网

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 表 有对应的数据。为什么出不来呢? 急求解。。。。。。。。

作者: downloadwz   发布时间: 2011-09-17

这语句不能这样写吧,试试这个:
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

作者: cyhcyhhychyc   发布时间: 2011-09-17

引用 1 楼 cyhcyhhychyc 的回复:

这语句不能这样写吧,试试这个:
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


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

作者: downloadwz   发布时间: 2011-09-17

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

作者: xuzuning   发布时间: 2011-09-17

相关阅读 更多