@TemaKam

Как вывести список книг, которые читали все абоненты библиотеки?

Нужно вывести список книг, которые читали все абоненты
EytJFGg.jpg
То есть из таблицы lend нужно получить такие значения book_code, которые брали все абоненты (bilet_number) - чтобы в этой таблице были записи о том, что каждый bilet_number брал эту конкретную book_code
Вот каким способом это сделать, не могу никак понять

Так не прокатит, потому что 1 абонент мог брать книгу несколько раз
SELECT book_code FROM lend
GROUP BY book_code
HAVING COUNT(book_code) = (SELECT COUNT(bilet_number) FROM abonents)
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
Следует использовать предикат distinct вместе с функцией count:
select book_code, count(distinct bilet_number) lends
from lends
group by book_code
having count(distinct bilet_number) = (select count(distinct bilet_number) from abonents)


Проверить SQL запрос
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы