任何人都可以请解释给我,为什么这个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