2014-09-05 46 views
0

我有这个查询,我敢肯定它设置正确,但它不停地返回没有结果,当我知道有1行应该返回。MySQL查询不工作 - 不知道为什么

SELECT 
    `t1`.id, 
    `t1`.length, 
    `t2`.last, 
    `t2`.first, 
    `t4`.name, 
    `t5`.text 
FROM `res` AS `t1` 
INNER JOIN `pt` AS `t2` 
    ON `t1`.ptid=`t2`.pt 
INNER JOIN `docs` AS `t3` 
    ON `t1`.doc=`t3`.did 
LEFT JOIN `user` AS `t4` 
    ON `t3`.user=`t4`.id 
INNER JOIN `desc` AS `t5` 
    ON `t1`.desc=`t5`.id 

ORDER BY 
    `t1`.date ASC 

再次,没有得到一个错误 - 只是没有结果。

感谢

+0

这里只是猜测,因为有那么一点去:既然没有'WHERE'条款很可能你的加入是不正确的。 – 2014-09-05 17:16:54

+0

也许这从查询中并不明显,但我需要获取t3行的id,然后使用它获取t4的名称值。是“INNER JOIN”现在正确的方法吗? – user988129 2014-09-05 17:38:40

+0

在这种情况下,你加入't3'.user ='t4'.id你确定这是正确的吗? – 2014-09-05 17:43:05

回答

1

desc是一个保留字。你需要把它反过来。

JOIN `desc` as `t5` ON `t1`.desc=`t5`.id 

应该

JOIN `desc` as `t5` ON `t1`.`desc`=`t5`.id 
相关问题