我正在尝试将三个表连接在一起,但不断收到以下错误消息:
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 'INNER JOIN附近ts_building.id = ts_room.building_id INNER JOIN 第2行的ts_park.id = ts_build':SELECT ts_room.building_id,ts_building.park,ts_park INNER JOIN ts_building.id = ts_room.building_id INNER JOIN ts_park.id = ts_building.park_id WHERE ts_room.id =“CC.0.21”
我做错了什么?到目前为止,这是我的代码:
SELECT ts_room.building_id,ts_building.park,ts_park
INNER JOIN ts_building.id=ts_room.building_id
INNER JOIN ts_park.id=ts_building.park_id
WHERE ts_room.id="CC.0.21"
我在这里上传了SQL小提琴:http://sqlfiddle.com/#!2/ecaa6/2
答案 0 :(得分:3)
语法是
select ts_room.building_id,ts_park.park
from ts_room
inner join ts_building on ts_building.id=ts_room.building_id
inner join ts_park on ts_park.id=ts_building.park_id
where ts_room.id="CC.0.21"
您缺少from子句和要加入的表
一般语法或多或少:
Select <columns>
from <table1>
[inner|outer|left|right] join <table2> on <condition>
[inner|outer|left|right] join <table3> on <condition>
...
答案 1 :(得分:2)
您错过FROM
条款,同样在INNER JOIN
您需要指定ON
,查询应如下所示:
SELECT ts_room.building_id,ts_building.park,ts_park
FROM ts_room
INNER JOIN ts_building ON ts_building.id = ts_room.building_id
INNER JOIN ts_park ON tsPpark.id = ts_building.park_id
WHERE ts_room.id="CC.0.21"
答案 2 :(得分:1)
您需要在From
和INNER JOIN
子句
SELECT *
FROM ts_room
INNER JOIN ts_building ON ts_building.id=ts_room.building_id
INNER JOIN ts_park ON ts_park.id=ts_building.park_id
WHERE ts_room.id="CC.0.21"
注意:表格中没有ts_building.park
,ts_park
字段(与原始查询中一样),因此我选择了所有(*)