[英]Table alias not working with join
我在此查询的Unknown column 'sch1.laestab' in 'field list'
收到错误Unknown column 'sch1.laestab' in 'field list'
SELECT
sch1.laestab AS eef_sch_id,
sch1.sch_name AS sch_name,
sch1.urn AS sch_dfe,
foo1.*
FROM tbl_Schools as sch1
JOIN (
SELECT
sch2.laestab AS eef_sch2_id,
sch2.sch_name AS sch2_name,
sch2.urn AS sch2_dfe
FROM tbl_SimilarSchools ss2
JOIN tbl_Schools sch2 ON sch2.laestab = ss2.cluster_id
WHERE cluster_id = sch1.laestab
AND cluster_id != school_id
AND sch2.use_KS4 = '1'
ORDER BY distance2 ASC
LIMIT 1
) as foo1
但是如果删除JOIN
部分,效果很好。 我的语法有什么问题?
您在这里加入这里有错字:
WHERE cluster_id = sch1.laestab
应该
WHERE cluster_id = sch2.laestab
或者,如果这不是拼写错误,那么您应该将此联接外的检查移到“打开”部分。 像这样
JOIN (
SELECT
cluster_id,
sch2.laestab AS eef_sch2_id,
sch2.sch_name AS sch2_name,
sch2.urn AS sch2_dfe
FROM tbl_SimilarSchools ss2
JOIN tbl_Schools sch2 ON sch2.laestab = ss2.cluster_id
WHERE cluster_id != school_id
AND sch2.use_KS4 = '1'
ORDER BY distance2 ASC
LIMIT 1
) as foo1
on foo1.cluster_id = sch1.laestab
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.