任何人都可以請解釋給我,爲什麼這個MySQL查詢拋出'未知列n.Id'在'子句'「錯誤?這對我來說確實沒有任何意義。在MySQL中與左連接嵌套集
SELECT n.Id,
n.Name,
COUNT(*)-1 AS level,
seo.URLName
FROM NestedSetsTable AS n,
NestedSetsTable AS p
LEFT JOIN SEO__Table AS seo
ON seo.ElementId = n.Id
AND seo.ElementCat = 1
WHERE n.lft BETWEEN p.lft AND n.rgt
GROUP BY n.lft
ORDER BY n.lft
基本上,NestedSetsTable具有列ID,名稱,LFT,RGT和SEO表具有 ElementId(其中包含Categorie的id),ElementCat(包含在這種情況下爲INT,1對於類,2將產品爲例),URLNAME(其中包含一個URL乾淨名example.com/Categories/myCleanName例如)
謝謝
編輯:我解決了這個問題,但我問的原因是因爲我想知道爲什麼n.Id在ON子句中是未知的,因爲它確實使n o感覺到我。
我不積極,但我將不得不猜測這是因爲你將ANSI連接樣式與theta樣式相結合。你怎麼修好它的? – AgRizzo
我固定它通過簡單地再選擇這樣的URLNAME: SELECT n.Id, n.Name, COUNT(*) - 1 AS電平, (SELECT seo.URLName FROM SEO__Table AS SEO WHERE seo.ElementId =正.Id AND ElementCat = 1)AS URLName FROM ... – Fitzi