diff --git a/solutions-2.sql b/solutions-2.sql new file mode 100644 index 0000000..60a3011 --- /dev/null +++ b/solutions-2.sql @@ -0,0 +1,59 @@ +-- Challenge 1 +SELECT + a.au_id AS "AUTHOR ID", + a.au_lname AS "LAST NAME", + a.au_fname AS "FIRST NAME", + t.title AS "TITLE", + p.pub_name AS "PUBLISHER" +FROM titleauthor ta +JOIN authors a ON ta.au_id = a.au_id +JOIN titles t ON ta.title_id = t.title_id +JOIN publishers p ON t.pub_id = p.pub_id; + +-- Challenge 2 +SELECT + a.au_id AS "AUTHOR ID", + a.au_lname AS "LAST NAME", + a.au_fname AS "FIRST NAME", + p.pub_name AS "PUBLISHER", + COUNT(t.title_id) AS "TITLE COUNT" +FROM titleauthor ta +JOIN authors a ON ta.au_id = a.au_id +JOIN titles t ON ta.title_id = t.title_id +JOIN publishers p ON t.pub_id = p.pub_id +GROUP BY a.au_id, p.pub_name; + +-- Challenge 3 +SELECT + a.au_id AS "AUTHOR ID", + a.au_lname AS "LAST NAME", + a.au_fname AS "FIRST NAME", + SUM(s.qty) AS "TOTAL" +FROM titleauthor ta +JOIN authors a ON ta.au_id = a.au_id +JOIN sales s ON ta.title_id = s.title_id +GROUP BY a.au_id +ORDER BY "TOTAL" DESC +LIMIT 3; + +-- Challenge 4 +SELECT + a.au_id AS "AUTHOR ID", + a.au_lname AS "LAST NAME", + a.au_fname AS "FIRST NAME", + COALESCE(SUM(s.qty), 0) AS "TOTAL" +FROM authors a +LEFT JOIN titleauthor ta ON a.au_id = ta.au_id +LEFT JOIN sales s ON ta.title_id = s.title_id +GROUP BY a.au_id +ORDER BY "TOTAL" DESC; +SELECT + a.au_id AS "AUTHOR ID", + a.au_lname AS "LAST NAME", + a.au_fname AS "FIRST NAME", + COALESCE(SUM(s.qty), 0) AS "TOTAL" +FROM authors a +LEFT JOIN titleauthor ta ON a.au_id = ta.au_id +LEFT JOIN sales s ON ta.title_id = s.title_id +GROUP BY a.au_id +ORDER BY "TOTAL" DESC;