Homework 3
Homework 3
Exercise 1:
Query
Solution:
Exercise 2:
Solution:
Exercise 3:
Exercise 4:
Query
Solution:
Exercise 5:
Query
Exercise 6:
Query
Solution:
Exercise 7:
Query
SELECT vendor_name,
COUNT(DISTINCT li.account_number) AS number_of_gl_accounts
FROM vendors v JOIN invoices i
ON v.vendor_id = i.vendor_id JOIN invoice_line_items li
ON i.invoice_id = li.invoice_id
GROUP BY vendor_name HAVING number_of_gl_accounts > 1
ORDER BY vendor_name;
Solution:
Chapter 7:
Exercise 1:
Query
SELECT vendor_name
FROM vendors WHERE vendor_id IN
(SELECT DISTINCT vendor_id FROM invoices)
ORDER BY vendor_name;
Solution
Exercise 2:
Query
SELECT invoice_number, invoice_total
FROM invoices WHERE payment_total >
(SELECT AVG(payment_total)
FROM invoices WHERE payment_total > 0)
ORDER BY invoice_total DESC;
Solution :
Exercise 3:
Query
SELECT account_number, account_description
FROM general_ledger_accounts gl
WHERE NOT EXISTS (SELECT * FROM invoice_line_items
WHERE account_number = gl.account_number)
ORDER BY account_number;
Solution:
Exercise 4:
Query
SELECT vendor_name, i.invoice_id, invoice_sequence, line_item_amount
FROM vendors v JOIN invoices I ON v.vendor_id = i.vendor_id JOIN invoice_line_items li
ON i.invoice_id = li.invoice_id
WHERE i.invoice_id IN (SELECT DISTINCT invoice_id
FROM invoice_line_items WHERE invoice_sequence > 1)
ORDER BY vendor_name, i.invoice_id, invoice_sequence;
Solution:
Exercise 5:
Query
SELECT SUM(invoice_max) AS sum_of_maximums
FROM (SELECT vendor_id, MAX(invoice_total) AS invoice_max
FROM invoices WHERE invoice_total - (credit_total + payment_total) > 0
GROUP BY vendor_id) md;
Solution
Exercise 6:
Query:
Solution
Exercise 7:
Query
Solution
Exercise 8:
Solution