Создать запрос, отображающий бригады, в которых ВСЕ рабочие имеют высокую квалификацию

Помогите пожалуйста.

Есть таблица с рабочими (в ней так же указаны id их бригад).

введите сюда описание изображения

Также есть их квалификация.

введите сюда описание изображения

Нужно вывести бригады, у которых абсолютно все рабочие с высшей квалификацией. Если хотя бы один рабочий с какой-то другой квалификацией, то всю бригаду выводить не нужно.

Я пытался что-то сделать но оно работает не правильно)

select Квалификация,Номер_бригады, Код_рабочего
from Вакансии v1 INNER JOIN Квалификация k1 ON 
v1.Код_специальности = k1.Код_специальности
where 
exists (select * from Вакансии v2 INNER JOIN Квалификация k2 ON 
v2.Код_специальности = k2.Код_специальности where (k2.Квалификация like '%Высшая%') 
and (k2.Код_рабочего = k1.Код_рабочего) 
and (v2.Номер_бригады = v1.Номер_бригады))

Ответы (1 шт):

Автор решения: CrazyElf

Сделайте наоборот - поставьте условие WHERE NOT EXISTS и там выберите вакансии с бригадой с таким же id и с квалификацией рабочего NOT LIKE %Высшая%. Таким образом в вашей выборке останутся только бригады, где нет рабочих с другой квалификацией, чем высшая.

→ Ссылка