我在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/