我在mysql中的SQL查询有问题。在sqlite3和sql server中都可以。

SELECT        `buildings`.*
FROM          `buildings`
  INNER JOIN  "floors"
  ON          "floors"."building_id" = "buildings"."id"
  INNER JOIN  "spaces"
  ON          "spaces".floor_id = "floors".id


也许我需要在mysql中以其他方式处理?

谢谢

最佳答案

MySQL将引号("floors")中的单词视为字符串,因此这些值不用作表/字段名称。尝试

SELECT ...
...
INNER JOIN floors ON floors.building_id = buildings.id
INNER JOIN spaces ON spaces.floor_id = floors.id


代替。仅当表/字段名称是保留字时,才需要在表/字段名称周围加反引号。 buildings不是保留字,因此不需要反引号。

关于mysql - MySQL Query 2内部联接?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7392482/

10-12 07:39