我正在做一个图书馆管理系统项目。 我是mysql查询的工作人员。
我有书籍表(书籍),字段为book_id | book_name | isbn_no| publisher_info
我在这个reader_id | book_id | reader_name | reader_info | and book_return_status
现在我想要不在读者表中的图书清单的结果,这样该列表将成为可用的图书清单。
select * from books,reader where books.book_id != reader.book_id and reader.book_return_status = 1
但是没有给我正确的结果,我也试过了这个查询..
select * from books where book_id not in (select * from reader where book_return_status = 1)
但我没有给出结果。
我想预订不在读者表中的列表。
答案 0 :(得分:3)
您已接近第二个查询。但是,要使not in
生效,您的子查询必须只返回ID:
select * from books where book_id not in (select book_id from reader where book_return_status = 1)
答案 1 :(得分:0)
尝试此查询
select * from books where book_id not in (select reader_id from reader where book_return_status = 1)