bus_stops
以下のようなバス停のあるバスのルート ID を含むテーブルがあります。
sl_no route_id stop_name
-------------------------------------------------------------
1 1234 stop1
2 1234 stop2
3 1235 stop7
4 1235 stop8
5 5678 stop1
6 5678 stop2
stop1 と stop2 の両方を含む route_id が必要です (stop1 を From 駅として、stop2 を To 駅として、1234 を取得したいのですが、"stop2 を From Station として" および "stop1 を To Station として" は取得したくありません)。
私はこのクエリを書きました:
SELECT DISTINCT route_id FROM bus_stops AS myAlias
WHERE EXISTS ( SELECT * FROM bus_stops WHERE route_id = myAlias.route_id AND stops = 'stop1' )
AND EXISTS ( SELECT * FROM bus_stops WHERE route_id = myAlias.route_id AND stops = 'stop2' )
ただし、「stop1 を From 駅、stop2 を To 駅」、「stop2 を From 駅、stop1 を To 駅」の route_id を返します。