You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Bart De Lepeleer 3e83930412 Merge branch 'master' of https://git.fullstacksyntra.be/bdelepeleer/How_to_code_summary_queries into master 2 years ago
README.md 'README.md' updaten 2 years ago
demo-queries-from slides-1.sql Demo queries from slides 2 years ago
demo-queries-from slides-2.sql Demo queries from slides 2 years ago
demo-queries-from slides-3.sql Demo queries from slides 2 years ago
demo-queries-from slides-4.sql Demo queries from slides 2 years ago
demo-queries-from slides-5.sql Demo queries from slides 2 years ago
demo-queries-from slides-6.sql Demo queries from slides 2 years ago
demo-queries-from slides-7.sql Demo queries from slides 2 years ago
exercise-01.sql added exercise solutions 2 years ago
exercise-02.sql added exercise solutions 2 years ago
exercise-03.sql added exercise solutions 2 years ago
exercise-04.sql added exercise solutions 2 years ago
exercise-05.sql added exercise solutions 2 years ago
exercise-06.sql added exercise solutions 2 years ago
exercise-07.sql added exercise solutions 2 years ago

README.md

Exercise 1

Write a SELECT statement that returns one row for each vendor in the Invoices table that contains these columns:

  • The vendor_id column from the Invoices table
  • The sum of the invoice_total columns in the Invoices table for that vendor

This should return 34 rows.

Exercise 2

Write a SELECT statement that returns one row for each vendor that contains these columns:

  • The vendor_name column from the Vendors table
  • The sum of the payment_total columns in the Invoices table for that vendor

Sort the result set in descending sequence by the payment total sum for each vendor.

Exercise 3

Write a SELECT statement that returns one row for each vendor that contains three columns:

  • The vendor_name column from the Vendors table
  • The count of the invoices in the Invoices table for each vendor
  • The sum of the invoice_total columns in the Invoices table for each vendor

Sort the result set so the vendor with the most invoices appears first.

Exercise 4

Write a SELECT statement that returns one row for each general ledger account number that contains three columns:

  • The account_description column from the General_Ledger_Accounts table
  • The count of the items in the Invoice_Line_Items table that have the same account_number
  • The sum of the line_item_amount columns in the Invoice_Line_Items table that have the same account_number

Return only those rows where the count of line items is greater than 1. This should return 10 rows.

Group the result set by the account_description column.

Sort the result set in descending sequence by the sum of the line item amounts.

Exercise 5

Modify the solution to exercise 4 so it returns only invoices dated in the second quarter of 2018 (April 1, 2018 to June 30, 2018).

This should still return 10 rows but with some different line item counts for each vendor.

Hint: Join to the Invoices table to code a search condition based on invoice_date.

Exercise 6

Write a SELECT statement that answers this question:

What is the total amount invoiced for each general ledger account number?

Return these columns:

  • The account_number column from the Invoice_Line_Items table
  • The sum of the line_item_amount columns from the Invoice_Line_Items table

Use the WITH ROLLUP operator to include a row that gives the grand total.

This should return 22 rows.

Exercise 7

Write a SELECT statement that answers this question: Which vendors are being paid from more than one account?

Return these columns:

  • The vendor_name column from the Vendors table
  • The count of distinct general ledger accounts that apply to that vendor’s invoices

This should return 2 rows.