リンクとツアーの 2 つのテーブルを含むデータベースがあります。ツアーは次のように定義されます
+----+-------------+-----+-----+--------+---------+-------+---------+
| ID | FileName | Lat | Lon | Name | Heading | Width | Height |
+----+-------------+-----+-----+--------+---------+-------+---------+
リンクは次のように定義されます
+-----+------------+--------+
| ID | locationID | linkID |
+-----+------------+--------+
links.locationID
tour.ID への外部キーです。私がやりたいことは、特定のリンクに一致するすべてのリンクを取得することですtour.name
今、これら 2 つのクエリを実行し、最初の ID を 2 番目の変数として使用する必要があります。
SELECT * FROM tour WHERE tour.name = 'name'
SELECT * FROM tour
INNER JOIN links ON tour.ID = links.linkID
WHERE links.locationID = ID of first query
これを単一の検索にどのように適応させることができますか?
サブクエリを試しました:
SELECT * FROM tour
INNER JOIN links ON tour.ID = links.linkID
WHERE links.locationID = ( SELECT * FROM tour WHERE tour.name = 'name')
これにより、オペランドに 1 つの列を含める必要があるというエラー 1241 が表示されます。
サブクエリの例をいくつか調べましたが、使用している内部結合ステートメントがすべて欠けています。このクエリにはどのような変更が必要ですか?