Mysql &引用;无法绑定多部分标识符";内连接
我以前在另一个查询中遇到过这个问题,我没有像预期的那样在查询之前包含表名,但是对于今天的问题,我不确定它为什么会抛出这个错误,因为在连接发生之前,表名已经非常清楚地提到了:Mysql &引用;无法绑定多部分标识符";内连接,mysql,sql,Mysql,Sql,我以前在另一个查询中遇到过这个问题,我没有像预期的那样在查询之前包含表名,但是对于今天的问题,我不确定它为什么会抛出这个错误,因为在连接发生之前,表名已经非常清楚地提到了: SELECT TKOPOCs.Name EightIDs.Email Cranes.CraneName FROM Cranes, EightIDs INNER JOIN TKOPOCS ON Cranes.CraneID = TKOPOCs.CraneID INNER JOIN Mills
SELECT
TKOPOCs.Name
EightIDs.Email
Cranes.CraneName
FROM
Cranes, EightIDs
INNER JOIN TKOPOCS
ON Cranes.CraneID = TKOPOCs.CraneID
INNER JOIN Mills
ON Cranes.MILLID = Mill.MillID
WHERE EightIDs.EID = TKOPOCs.EID
Cranes.CraneID和Cranes.MILLID出现异常,但查询的SELECT部分中的项目似乎工作正常-当我键入“Cranes”时,它甚至会自动填充列名。因此,它非常清楚Crane表是什么以及其中包含什么,那么是什么导致了问题?
连接链(逻辑上)在逗号分隔的表之前从左到右计算。在连接链中包括起重机,以使其立柱可用:
SELECT
TKOPOCs.Name
EightIDs.Email
Cranes.CraneName
FROM
Cranes
INNER JOIN TKOPOCS
ON Cranes.CraneID = TKOPOCs.CraneID
INNER JOIN Mills
ON Cranes.MILLID = Mill.MillID
INNER JOIN EightIDs
ON EightIDs.EID = TKOPOCs.EID
JOIN
在逗号分隔的表之前(从逻辑上)从左到右计算链。在连接链中包括起重机,以使其立柱可用:
SELECT
TKOPOCs.Name
EightIDs.Email
Cranes.CraneName
FROM
Cranes
INNER JOIN TKOPOCS
ON Cranes.CraneID = TKOPOCs.CraneID
INNER JOIN Mills
ON Cranes.MILLID = Mill.MillID
INNER JOIN EightIDs
ON EightIDs.EID = TKOPOCs.EID
我会接受这个答案,因为它解决了这个问题,但我很好奇:你是说,在我最初的查询中,它在查看表名之前先查看了join语句,然后再查看FROM关键字?对于SELECT,从FROM列表开始。在“发件人”列表中,首先处理所有联接链,从左到右依次处理。然后处理逗号分隔的表。然后转到WHERE子句等。尽量避免将显式连接与逗号分隔的表混合使用!特别是当涉及到外部联接时。我接受这个答案,因为它解决了问题,但我很好奇:您是说,在我最初的查询中,它在查看表名之前先查看联接语句,然后再使用FROM关键字?对于SELECT,从FROM列表开始。在“发件人”列表中,首先处理所有联接链,从左到右依次处理。然后处理逗号分隔的表。然后转到WHERE子句等。尽量避免将显式连接与逗号分隔的表混合使用!特别是当涉及到外部连接时。