我有一个名为books的表,其中包含书籍的名称和另一个名为students的表。
在表学生中,正在发行一本书。我需要减少书籍表中书籍的数量。
答案 0 :(得分:0)
我们假设以下内容:
book
表格中,名为id
的列会为每本书存储唯一标识符,student
表格中,名为borrowed_book_id
的列会存储学生借阅的图书的ID,如果没有这样的图书,则会NULL
。然后你想知道的是book
表中student
表中没有相应条目的书籍数量。
您应该可以通过将book
表加入student
表来查找book
行,其中id
与任何条目都不匹配borrowed_book_id
表格的student
列。
SELECT COUNT(*)
FROM book
LEFT JOIN student ON book.id = student.borrowed_book_id
WHERE student.borrowed_book_id IS NULL
注意使用LEFT JOIN
而不仅仅是JOIN
,因为我们想要返回“左表”(book
)中的所有行,无论是否存在匹配的行“右表”(student
)。如果给定书籍student
中没有这样的匹配行(即,没有学生借书的话),则联接表中student
的列将为NULL
,这允许.parallax {
background-image: url("/background1.jpg");
}
我们算一算。
免责声明:我没有对此进行测试,您可能需要将此查询调整为您的架构。祝你好运!