Таблицы:
сотрудник(имя сотрудника, улица, город)
работает(имя сотрудника, название компании, зарплата)
компания(название компании, город)
управляет(имя сотрудника, имя-менеджера)
Запрос: Предположим, что компании могут быть расположены в нескольких городах. Найдите все компании, расположенные в каждом городе, в котором находится «Маленькая банковская корпорация».
Я пробовал: select cname from company c where (select city from company c2 where c2.cname='Small Bank Corporation' MINUS select city from company where cname=c.cname) is null;
и несколько подобных вариантов, но это вообще не работает. Моя идея состоит в том, чтобы сгенерировать набор A и набор B. Набор B — это все города, в которых находится компания Small bank. Скажем, Set B = {Мумбаи, Пуна}. Теперь я пытался создать набор A для каждой компании в таблице компаний. Скажем, для первого цикла cname = 'FBC', тогда Set A будет содержать все города, в которых расположен FBC.
Теперь, Set B - Set A, если эта часть станет нулевой, это означает, что A по крайней мере расположен во всех городах, в которых находится FBC. SBC и я пытались напечатать название компании A этого набора. Но по какой-то причине это не работает, и я не могу понять это.
Ошибка Oracle: однострочный подзапрос возвращает более одной строки.
Есть мысли по этому поводу? Спасибо