I am working on an SQL Database project and I am supposed to find the names of authors who have written 3 or more books. My code is below. The operator ">" is not valid and I have tried different variations of COUNT.

SELECT afirstname, alastname, btitle, COUNT(*) FROM Author, Book WHERE btitle > 2 GROUP BY alastname;

Author contains the names and Book contains the titles, pages, etc. There is also Author_Book containing aid and bid. Do I need to use a join? I still don't understand how I can specify 3+ books without using an operator. I am not asking for an answer, just some pointers if possible :).

Thank you!

4 Years
Discussion Span
Last Post by pritaeas

Have a look at using COUNT in HAVING.

Since btitle is a varchar column, you cannot compare it to an integer (it does not know you want to count).

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.