Общие > Базы данных

Выборка из двух таблиц, при условии AND...

(1/2) > >>

Лосик:
Вопрос. Есть две таблицы:

Компания
company_id
address
...

и

Филиалы
filial_id
company_id
address
...

В них, потяное дело, живут "компании", которые имеют разный address и их филиалы, по каждому из которых хранится company_id и опять же address. Вопрос -- как выбрать все филиалы одной компании, которые находятся в N указаных городов? Конструкция вида

SELECT * FROM Компания, Филиалы WHERE Компания.company_id=Филиалы.company_id AND address="Питер" AND address="Москва"

естественным образом не канает.

Попытки извращаться с разнообразными подзапросами, скобками, логикой не спасают...

Zotoff:
SELECT filial_name FROM company, filial WHERE company.company_id=filial.company_id AND (company.address="Питер" OR company.address="Москва")

Попробуй так.

Chs:

--- Цитировать ---address="Питер" AND address="Москва"
--- Конец цитаты ---

И как это должно работать в связке and? :)
OR поможет + скобки :)

Лосик:
А, сорри, забьыл указать, это тоже не то. Выбирает и тех, у кого есть филиал _ИЛИ_ в Питере _ИЛИ_ в Москве... Нужны только те, у кого _И_ там и там...

Ни скобки ни чего -- не катит. Ибо, насколько понял (роюсь уже доках неделю как 8) -- при просмотре по строкам в случае AND это AND это, выполнятель запросов ищет строку, которая соотв ествовала бы и тому и другому условию, что невозможно... (но это предположение).

Лосик:
Все-таки, похоже SQL на такое не способен (без хитрых извращений) принципиально...

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии