2013-06-06 8 views
0

enter image description here У меня есть имя таблицы CITY, имея этих двух столбцов «CITY_ID» и «МЕСТА»SQL-запрос для получения уникального значения для заданных значений

Я пытаюсь получить CITY_ID, который должен иметь только эти четыре места техас, алабама, аризона, колорадо, и у него не должно быть никаких других мест.

select city_id from city 
where places in ('texas','alabama','arizona','colorado') 
having count(city_id)=4 
group by city_id 

Результат: Я получаю много city_id, который содержит эти четыре места и другие места.

Просьба помочь

ответ

0

Попробуйте делать следующее

SELECT C._city_id FROM 
    (SELECT city_id, places, count(places) as numplaces FROM Cities group by city_id) as C 
WHERE C.places in ('texas', 'alabama','arizona','colorado') AND C.numplaces = 4 

Пожалуйста, обратите внимание, что мой пример был сделан в MySQL, и вам придется адаптировать SQL, если это необходимо.

+0

не возвращено ни одной строки ... – davidb

+0

Можете ли вы привести примерные данные, 2 или 3 строки, как это было бы в вашей базе данных – user65439

+0

Отредактировано мое сообщение, попробуйте пример выше – user65439

0

выбрать другой город_ид из города где места в ('texas', 'alabama', 'arizona', 'colorado');

Должен работать.