2016-12-12 71 views
0

我知道我已經看到關於這個錯誤的其他幾個問題,但我是新來的sql JOIN,所以PLZ可以讓你解釋一下我'做錯了。#1054 - 'on'子句中的未知列'Klanten.Klantnummer'

這裏是我的查詢

SELECT Klanten.Klantnummer,`Barcode`, `Naam`, `BetaalStatus`, `ScanStatus`, `TijdScan`, `Prijs` 
FROM `Klanten`, `kaart` 
LEFT JOIN (`Intro`) 
ON (Intro.KlantNummer = Klanten.Klantnummer) 
WHERE kaart.KlantNummer = Klanten.Klantnummer 

這是錯誤我得到像你這樣的稱號

1054所看到的 - 未知列「Klanten.Klantnummer」在「關於條款」

而且db名稱正確

+2

好吧,Klanten表有'Klantnummer'列嗎? – Lamak

+0

一個側面說明,但你真的不應該混合隱式和顯式'JOIN'風格。事實上,你甚至都不應該在'FROM'子句中擁有''''。近25年前,這種風格已經過時**。** – Siyual

回答

2

簡單規則:從不FROM子句中使用逗號。 始終使用使用正確的,明確的JOIN語法。如果你這樣做,你不會有一個錯誤:

SELECT Klanten.Klantnummer,`Barcode`, `Naam`, `BetaalStatus`, `ScanStatus`, `TijdScan`, `Prijs` 
FROM `Klanten` JOIN 
    `kaart` 
    ON kaart.KlantNummer = Klanten.Klantnummer LEFT JOIN 
    `Intro` 
    ON Intro.KlantNummer = Klanten.Klantnummer ; 

的問題是,,JOIN的優先級是不同的。因此,ON條款未知逗號前的表格。

相關問題