У меня возникли проблемы с построением этого sql-запроса.
У меня есть одна таблица с городами Канады и Америки, подобная этой:
+-------------+------------------+
|start |finish |
+-------------+------------------+
| Calgary| Vancouver|
| Edmonton| Toronto|
| Montreal| New York|
| Chicago| St Louis|
| Miami| Winnipeg|
+-------------+------------------+
И у меня есть еще одна таблица только с городами Канады
+-------------+
|cities |
+-------------+
| Calgary|
| Edmonton|
| Montreal|
| Vancouver|
| Toronto|
| Winnipeg|
+-------------+
И я хотел бы отфильтровать первую таблицу, чтобы сохранить только те строки, где ОБА start
и finish
существуют в таблице cities
, например:
ВЫБОР ВЫБОРКИ:
+-------------+------------------+
|start |finish |
+-------------+------------------+
| Calgary| Vancouver|
| Edmonton| Toronto|
+-------------+------------------+
Моя первоначальная мысль заключалась в следующем:
SELECT *
FROM start_finish s, cities c
WHERE c.cities = s.start and c.cities = s.finish
Но после некоторых проб и ошибок я понимаю, что это вернет значения, только если начало и конец совпадают.
+-------------+------------------+
|start |finish |
+-------------+------------------+
| Calgary| Calgary|
+-------------+------------------+
Любая помощь будет принята с благодарностью!