2011-06-23 122 views
0

運行MySQL社區服務器5.5.13MySQL的左連接 - 奇怪的問題

使用下面的查詢:

select t1.f1, t2.f1, t2.f2 
from t1 left join t2 on (t1.f3 = t2.f3) 

如果左聯接未找到匹配表t2,而不是把空的值對於t2.f1,t2.f2,它實際上是把列名放在那裏。

任何建議,爲什麼這可能會發生?

+0

你恰好有一個行輸出? – Johan

回答

0

試試這個:

SELECT `t1`.`f1`, `t2`.`f1`, `t2`.`f2` 
FROM `t1` 
LEFT JOIN `t2` ON `t1`.`f3` = `t2`.`f3`; 
+1

-1,這將沒有任何區別。 – Johan

+0

雞蛋在我的臉上。事實證明,它是在t2中損壞的數據,但感謝迴應。出於好奇,在表格和字段名稱周圍放置單引號是否是一種最佳做法? – jam

+2

@jam,不,它看起來醜陋,蓬鬆和討厭和可怕,反引號只適用於保留字的字段名稱,在它們中有空格或是(gasp *)數字。 – Johan