Проблема с составление запроса SQL

Возникла проблема с формированием запроса (Отобразить публикации, у которых более 2 авторов и все авторы мужчин

Select Название_публикации, count(АвторПубликаций.id_автора) as Количество_Авторов
from Публикации, АвторПубликаций, Авторы
where (Публикации.Код_публикации=АвторПубликаций.Код_пуб ликации and Авторы.id_автора = АвторПубликаций.id_автора )
group by Название_публикации,Пол
having count(АвторПубликаций.id_автора)>=2 and Пол='М';

В итоге выводит не совсем правильно. Отобразить публикации, у которых более 2 авторов -> данную часть выводит правильно , а вторую "и все авторы мужчин" нет (выводит кол-во авторов мужского пола у данной публикации)

Как сделать запрос что бы выводились публикации только там где ВСЕ авторы мужчины ?введите сюда описание изображения


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

Автор решения: RabbiQQQ
Select Название_публикации, count(АвторПубликаций.id_автора) as Количество_Авторов
from Публикации, АвторПубликаций, Авторы
where (Публикации.Код_публикации=АвторПубликаций.Код_публикации and Авторы.id_автора = АвторПубликаций.id_автора ) and Название_публикации in (select Название_публикации from Публикации, АвторПубликаций, Авторы where (Публикации.Код_публикации=АвторПубликаций.Код_публикации and Авторы.id_автора = АвторПубликаций.id_автора ) group by Название_публикации having count(distinct Пол)=1)
and Пол ='М'
group by Название_публикации
having count(АвторПубликаций.id_автора)>=2

Вот готовое решение(возможно не самое лучшее(ужасное)).

→ Ссылка