Поле с критерием выборки имеет несколько значений, как вывести по одному из них?

gtauter
На сайте с 08.06.2008
Offline
131
382

Добрый день!

Понадобилось тут добавить небольшой кусок на сайт, а я никак не могу сообразить как сделать - давно не сталкивался с такой проблемой.

Есть список организаций. Его надо вывести в соответствии с городом. Одна организация может иметь офисы в нескольких городах.

Соответственно, у меня есть поле CityID, там номер региона. Если организация имеет офис в нескольких регионах, то как быть? Допустим я введу туда "16, 37" - как теперь сделать запрос, чтобы вывести эту запись в составе всех с CityId 16?

Ведь Select * from table where CityID=16 уже не подходит? Какой тип поставить полю CityID?

MySql, вывод через php.

Спасибо заранее за помощь, надеюсь более-менее внятно объяснил. Голова под вечер совсем не соображает. :(

С уважением, Евгений. Моя визитка (gtauter.ru). Привет из "Теслы" :)
bukachuk
На сайте с 07.09.2008
Offline
97
#1

Создайте таблицу org_id,city_id у вас отношение один ко многим. Потом

select o.id,o.name from org o left join org_to_city otc ON otc.org_id=o.id where otc.city_id=1 group by o.id

или

select o.id,o.name from org o left join org_to_city otc ON otc.org_id=o.id where otc.city_id IN (1,2,3) group by o.id

Программирование PHP,Mysql (/ru/forum/934470)
gtauter
На сайте с 08.06.2008
Offline
131
#2
bukachuk:

Создайте таблицу org_id,city_id у вас отношение один ко многим. Потом

select o.id,o.name from org o left join org_to_city otc ON otc.org_id=o.id where otc.city_id=1 group by o.id

или

select o.id,o.name from org o left join org_to_city otc ON otc.org_id=o.id where otc.city_id IN (1,2,3) group by o.id

Спасибо, буду сейчас разбираться.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий