2014-09-05 50 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 
相關問題