我在表Book
中有一个行实体,比如Library
。我还有一个表Borrowings
,其中的行代表Borrowing
实体。
Book
有一个主键,在Borrowing
行中用于将图书标记为在字段book_id
中借用的图书。可以有0-n Borrowing
行可以连接到单个Book
。
Borrowing
行,则Book
可用。Borrowing
行且return_date
小于当前日期,则Book
可用。Borrowing
行return_date
。如果存在此Book
,则会借用Borrowing
,但读者无法使用。{/ li>
我的问题是 - 如何找到所有可借用的图书,因为它们符合上述任何标准?
Borrowing
行。return_date
行Slice
。答案 0 :(得分:0)
尝试以下查询
SELECT *
FROM library l
LEFT JOIN borrowing b
ON l.book_id = b.book_id
WHERE (b.book_id IS NULL
OR NOW()::date - b.return_date::date > 0)
希望这可以帮助你。