ниже приведенная таблица.Получение выбора из вложенного запроса с несколькими строками
----------------------------------
| area | country | date |
----------------------------------
| a1 | c1 | 13-01-2013 |
----------------------------------
| a2 | c2 | 06-01-2013 |
----------------------------------
| a3 | c1 | 12-01-2013 |
----------------------------------
| a4 | c2 | 10-01-2013 |
----------------------------------
| a5 | c3 | 13-01-2013 |
----------------------------------
| a1 | c1 | 13-01-2013 |
----------------------------------
| a2 | c2 | 06-01-2013 |
----------------------------------
| a3 | c1 | 12-01-2013 |
----------------------------------
| a4 | c2 | 10-01-2013 |
----------------------------------
| a5 | c3 | 13-01-2013 |
Я хочу, чтобы мой запрос сделал следующее.
«Показывать названия стран, которые имеют область, присутствующую более одного раза между двумя датами».
Я пробовал нижеследующий запрос, но это дает мне ошибку. > # 1242 - подзапрос возвращает более 1 строки
SELECT country
FROM table
WHERE area = (
SELECT area
FROM table
WHERE dateandtime > ' 13-01-2013'
AND dateandtime < '20-01-2013'
GROUP BY area
HAVING count(DISTINCT date) > 1);
Измените ваш первый 'AND' на' WHERE' в вашем подзапросе и посмотрите, где это вам. –
сделано. однако ошибка все равно остается прежней. – tony9099
Это был быстрый ответ. Вы протестировали его, чтобы убедиться, что он не работает? –