SQL - пытается сопоставить данные - PullRequest
0 голосов
/ 27 июня 2018

Я только изучаю SQL. Набор данных у меня выглядит так:

city_name |  work_place_name | min_commute_time | max_commute_time
-------------------------------------------------------------------
Austin        CONGRESS           25                 45
Austin        NASA               10                 12
Austin        CIRCUS             16                 35
CEDAR PARK    CONGRESS           35                 65
CEDAR PARK    NASA               28                 60
CEDAR PARK    CIRCUS             26                 55
KYLE          CONGRESS           50                 85
KYLE          NASA               60                 100
KYLE          CIRCUS             60                 100

Я пытаюсь выяснить, в каком городе будет минимальное время в пути менее или равно 30 для Конгресса и НАСА. Я предложил следующий запрос, но я не получаю результаты, которые я ищу.

SELECT city_name
FROM commute_times
WHERE min_commute_time<=30 AND (work_place_name='NASA' OR work_place_name='CONGRESS')

Результаты, которые я получаю:

city_name 
-----------
Austin
Austin
Cedar Park

Результаты, на которые я надеюсь:

City_name
-----------
Austin

1 Ответ

0 голосов
/ 27 июня 2018

Вы рядом. Агрегация заполнит недостающую часть:

SELECT city_name
FROM commute_times
WHERE min_commute_time <= 30 AND 
      work_place_name IN ('NASA', 'CONGRESS')
GROUP BY city_name
HAVING COUNT(*) = 2;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...