Я работаю над проблемой, связанной с этими двумя таблицами.
books
isbn | title | author
------------+-----------------------------------------+------------------
1840918626 | Hogwarts: A History | Bathilda Bagshot
3458400871 | Fantastic Beasts and Where to Find Them | Newt Scamander
9136884926 | Advanced Potion-Making | Libatius Borage
transactions
id | patron_id | isbn | checked_out_date | checked_in_date
----+-----------+------------+------------------+-----------------
1 | 1 | 1840918626 | 2012-05-05 | 2012-05-06
2 | 4 | 9136884926 | 2012-05-05 | 2012-05-06
3 | 2 | 3458400871 | 2012-05-05 | 2012-05-06
4 | 3 | 3458400871 | 2018-04-29 | 2018-05-02
5 | 2 | 9136884926 | 2018-05-03 | NULL
6 | 1 | 3458400871 | 2018-05-03 | 2018-05-05
7 | 5 | 3458400871 | 2018-05-05 | NULL
запрос «Составьте список всех названий книг и укажите, была ли извлечена копия этой книги». так что в основном только первая таблица с извлеченным столбцом.
Я пытаюсь выбрать DISTINCT для подзапроса с книгами оформления заказов, но это не работает. Я исследовал, и другие говорят, что для достижения этой цели используйте предложение GROUP BY вместо DISTINCT, но примеры, которые они предоставляют, представляют собой запросы в один столбец, и когда добавляется больше столбцов, это не работает.
это моя ближайшая попытка
SELECT DISTINCT ON (title)
title, checked_out
FROM(
SELECT b.title, t.checked_in_date IS NULL AS checked_out
FROM transactions t
natural join books b
ORDER BY checked_out DESC
) t;