“无法使用INNER JOIN绑定多部分标识符”

时间:2016-06-03 14:28:59

标签: mysql sql

我之前在另一个查询中遇到过这个问题,我没有在查询之前包含表名,就像它期望的那样,但对于今天的问题,我不确定为什么它会抛出这个错误,因为在JOIN发生之前非常清楚地提到了表名:

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桌是什么以及它里面有什么,那么可能导致这个问题的原因是什么呢?

1 个答案:

答案 0 :(得分:2)

在逗号分隔的表之前,从左到右(逻辑上)评估

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