У меня есть таблица с 3 столбцами: идентификатор (человека), город (который посетил человек) и дата (его посещения).
Мне нужно выбрать всех людей (их идентификаторы), которые были в городе Лос-Анджелес между конкретными датами, которые также были в городе Нью-Йорк в какую-то другую конкретную дату.
Вот пример запроса, который я выполняю сейчас:
SELECT DISTINCT id
FROM places
WHERE date >= '2011-03-18' AND
date < '2011-03-19' AND
city = 'los angeles' AND
id IN (SELECT DISTINCT id
FROM places
WHERE date >= '2011-03-15' AND
date < '2011-03-16' AND
city = 'chicago'
GROUP BY id);
Что-нибудь, что я тоже могу?
Есть ли другой запрос, который я могу использовать? Этот выбор слишком медленный.