Browse Source

added exercise solutions

master
Bart De Lepeleer 2 years ago
parent
commit
59a2c13530
7 changed files with 46 additions and 0 deletions
  1. 3
    0
      exercise-01.sql
  2. 5
    0
      exercise-02.sql
  3. 6
    0
      exercise-03.sql
  4. 8
    0
      exercise-04.sql
  5. 11
    0
      exercise-05.sql
  6. 3
    0
      exercise-06.sql
  7. 10
    0
      exercise-07.sql

+ 3
- 0
exercise-01.sql View File

@@ -0,0 +1,3 @@
SELECT vendor_id, SUM(invoice_total) AS invoice_total_sum
FROM invoices
GROUP BY vendor_id

+ 5
- 0
exercise-02.sql View File

@@ -0,0 +1,5 @@
SELECT vendor_name, SUM(payment_total) AS payment_total_sum
FROM vendors v JOIN invoices i
ON v.vendor_id = i.vendor_id
GROUP BY vendor_name
ORDER BY payment_total_sum DESC

+ 6
- 0
exercise-03.sql View File

@@ -0,0 +1,6 @@
SELECT vendor_name, COUNT(*) AS invoice_count,
SUM(invoice_total) AS invoice_total_sum
FROM vendors v JOIN invoices i
ON v.vendor_id = i.vendor_id
GROUP BY vendor_name
ORDER BY invoice_count DESC

+ 8
- 0
exercise-04.sql View File

@@ -0,0 +1,8 @@
SELECT account_description, COUNT(*) AS line_item_count,
SUM(line_item_amount) AS line_item_amount_sum
FROM general_ledger_accounts gl
JOIN invoice_line_items li
ON gl.account_number = li.account_number
GROUP BY account_description
HAVING line_item_count > 1
ORDER BY line_item_amount_sum DESC

+ 11
- 0
exercise-05.sql View File

@@ -0,0 +1,11 @@
SELECT account_description, COUNT(*) AS line_item_count,
SUM(line_item_amount) AS line_item_amount_sum
FROM general_ledger_accounts gl
JOIN invoice_line_items li
ON gl.account_number = li.account_number
JOIN invoices i
ON li.invoice_id = i.invoice_id
WHERE invoice_date BETWEEN '2018-04-01' AND '2018-06-30'
GROUP BY account_description
HAVING line_item_count > 1
ORDER BY line_item_amount_sum DESC

+ 3
- 0
exercise-06.sql View File

@@ -0,0 +1,3 @@
SELECT account_number, SUM(line_item_amount) AS line_item_sum
FROM invoice_line_items
GROUP BY account_number WITH ROLLUP

+ 10
- 0
exercise-07.sql View File

@@ -0,0 +1,10 @@
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

Loading…
Cancel
Save