1

3 つのテーブルを結合しようとしていますが、次のエラー メッセージが引き続き表示されます。

SQL 構文にエラーがあります。使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください結合 ts_building.id=ts_room.building_id 内部結合 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

4

3 に答える 3

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>
...
于 2013-02-16T17:05:30.067 に答える
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"

http://dev.mysql.com/doc/refman/5.0/en/join.html

于 2013-02-16T17:05:41.337 に答える
1

FromandINNER 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フィールドがないため、すべてを選択しました(*)

于 2013-02-16T17:07:36.967 に答える