在我正在使用的数据库中,以下内容将为我提供每个分支ID的副本数量,标题为The Lost Tribe。
select distinct BC.branch_id, no_of_copies
from Book_Copies BC, Book B, Library_Branch LB
where BC.book_id = (select book_id from Book where title = 'The Lost Tribe');
但是我需要使用相应的分支名称,它们可以在Library_Branch表中找到它们的分支ID。我不知道如何转换它,我该怎么做?
答案 0 :(得分:0)
没有真正了解结构
SELECT DISTINCT BC.branch_id, no_of_copies, LB.branch_name
FROM Book_Copies BC
LEFT JOIN Book B ON BC.book_id = B.book_id
LEFT JOIN Library_Branch LB ON BC.branch_id = LB.branch_id
WHERE B.title = 'The Lost Tribe';
仅供参考,您应尽可能避免使用子选项。
答案 1 :(得分:0)
尝试INNER JOIN。 根据我对表结构的认识,您可以在下面使用。
SELECT branch_id, branch names, no_of_copies
FROM Library_Branch a
INNER JOIN Book b ON a.book_id = b.bookID
WHERE b.book_name = "The Lost Tribe"
在内部联接中使用book表和分支表,并使用外键将它们连接起来。