如何在SQL Query中搜索多个条目?

时间:2017-01-10 00:21:04

标签: sql sql-server database mysqli

当我试图在我的图书馆数据库中的每个分支中搜索一个书名的副本数时,这很有效:

select BranchName, Title, sum(No_Of_Copies) as NumberOfCopies
    from Library_Branch lb
    join Book_Copies bc
    on lb.BranchId = bc.BranchId
    join BOOK b
    on bc.BookId = b.BookId WHERE Title like '%The Great Gatsby%'
    group by lb.BranchName, b.Title

但是当我尝试搜索两本书时,我收到了一个错误:

select BranchName, Title, sum(No_Of_Copies) as NumberOfCopies
    from Library_Branch lb
    join Book_Copies bc
    on lb.BranchId = bc.BranchId
    join BOOK b
    on bc.BookId = b.BookId WHERE Title like '%The Great Gatsby%' , '%The Chronicles of Narnia'
    group by lb.BranchName, b.Title

我也尝试过:

select BranchName, Title, sum(No_Of_Copies) as NumberOfCopies
    from Library_Branch lb
    join Book_Copies bc
    on lb.BranchId = bc.BranchId
    join BOOK b
    on bc.BookId = b.BookId WHERE Title like '%The Great Gatsby%' or '%The Chronicles of Narnia'
    group by lb.BranchName, b.Title

我知道这是一个非常初学的问题,但我对SQL很新。非常感谢任何帮助,谢谢。

2 个答案:

答案 0 :(得分:1)

你必须在OR之后完全重写where条件:

select BranchName, Title, sum(No_Of_Copies) as NumberOfCopies
    from Library_Branch lb
    join Book_Copies bc
    on lb.BranchId = bc.BranchId
    join BOOK b
    on bc.BookId = b.BookId WHERE Title like '%The Great Gatsby%' or Title like '%The Chronicles of Narnia'
    group by lb.BranchName, b.Title

答案 1 :(得分:1)

你很亲密,试试这个:

SELECT BranchName, Title, sum(No_Of_Copies) as NumberOfCopies
FROM Library_Branch lb
JOIN Book_Copies bc on lb.BranchId = bc.BranchId
JOIN BOOK b on bc.BookId = b.BookId 
WHERE Title LIKE '%The Great Gatsby%' or Title LIKE '%The Chronicles of Narnia'
GROUP BY lb.BranchName, b.Title