2015-09-05 85 views
0

我有兩個表我想查詢:MySQL的左連接錯誤#1064

  • tbl_sermons
  • tbl_sermons系列

我已經試過了MySQL查詢幾種不同的方式,但它不斷有類似的東西回來:

"#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''tbl_sermons-series' ON tbl_sermons.series_sermon = 'tbl_sermons-series.id_seri' at line 3"

下面是該查詢:

SELECT tbl_sermons.title_sermon, tbl_sermons.slug_sermon, tbl_sermons.date_sermon, 'tbl_sermons-series.name_series' 
FROM tbl_sermons 
LEFT JOIN 'tbl_sermons-series' 
ON tbl_sermons.series_sermon = 'tbl_sermons-series.id_series'; 

我確定我在做一些愚蠢的事情......有人能成爲我的第二套眼睛嗎?

===

所以我用在一個點上反引號,但是這是之前引發錯誤。我回去用每個給定的(感謝)的建議反引號,現在我收到以下錯誤:

1054 - Unknown column 'tbl_sermons-series.name_series' in 'field list'

我看tbl_sermons系列表,它的存在一樣的領域,我請求(name_series) 。如果我刪除了name_series的請求,並且只是在LEFT JOIN結尾處的tbl_sermons-series.id_series中(在ON的等號右邊),它將引發與tbl_sermons.id_series相同的錯誤!

以下是tbl_sermons(第一)和tbl_sermons系列(第二)的片劑定義:

tbl_sermons tbl_sermons-series

當前失敗的確切的代碼是:

SELECT tbl_sermons.title_sermon, tbl_sermons.slug_sermon, tbl_sermons.date_sermon, `tbl_sermons-series`.`name_series` 
FROM tbl_sermons 
LEFT JOIN `tbl_sermons-series` 
ON tbl_sermons.series_sermon = `tbl_sermons-series`.`id_series`; 
+1

避開擺脫單引號''tbl_sermons-series.id_series'' – mseifert

+1

是的,你是對的,你正在做一些愚蠢的事,就是用單引號。 mysql將它視爲字符串而不是某個變量或關鍵字。 – Mannu

+0

謝謝,我最初使用反引號,但是當它沒有工作嘗試單引號時,現在我已經回到反引號,並且正在得到另一個錯誤... – davemackey

回答

3

唐不要在表或列名稱周圍使用引號。如果你有逃跑的名稱使用反引號

SELECT s.title_sermon, s.slug_sermon, s.date_sermon, ss.name_series 
FROM tbl_sermons s 
LEFT JOIN `tbl_sermons-series` ss ON s.series_sermon = ss.id_series