Witam, mam pewien problem ze skonstruowaniem zapytania, które można sprowadzić do tytuowego. Struktura bazy:
clients
client_id | _client_name |
---|---|
1 | Paweł |
2 | Gaweł |
clients_books
client_id | book_id |
---|---|
1 | 1 |
1 | 4 |
1 | 6 |
2 | 2 |
2 | 5 |
2 | 6 |
potrzebuję zapytania, które zwróci wszystkich klientów którzy wypożyczyli np 2 ksiązki (id==4 i id==6)?
Jedyne co mi się udało na razie wymyśleć to coś takiego:
SELECT
*
FROM
clients
where
(SELECT
count(distinct clients_books.book_id)
FROM
clients_books
where
clients_books.client_id = clients.client_id
AND (clients_books.book_id = 4 OR clients_books.book_id = 6)
group by user_id) = 2
Czy jest jakiś bardziej poprawny sposób?