Я получил свой запрос, чтобы вернуть то, что хотел, но такое чувство, что это можно было бы сделать лучше.Может ли кто-нибудь показать мне лучший способ сделать этот вопрос, а также я знаю, что столбец «активный» является избыточным, давайте просто пойти с ним.
sql fiddle: http://sqlfiddle.com/#!17/18152/53
вопрос - можно использовать подзапросы, но я не могу понять: - перечислите всех читателей библиотеки. Если у них проверена одна или несколько книгпрочь, отнеси книги покровителям. "
SELECT p.name,
(SELECT checked_in_date IS NULL AS active
FROM transactions t
WHERE p.id = t.patron_id AND b.isbn = t.isbn AND checked_in_date IS NULL),
b.title
FROM patrons p
LEFT OUTER JOIN transactions t
ON p.id = t.patron_id AND checked_in_date IS NULL
LEFT OUTER JOIN books b
ON b.isbn = t.isbn
Желаемый результат будет выглядеть примерно так
name book_count(optional) title
------------------------------------------
Hermione Granger 0 (null)
Terry Boot 1 Advanced Potion-Making
Terry Boot 1 Fantastic Beasts and Where to Find Them
Padma Patil 0 (null)
Cho Chang 0 (null)
Cedric Diggory 0 (null)