-- #### Start of class stuff ####

-- Get the InvoiceID, InvoiceTotal, and InvoiceDueDate for all invoices for vendor 110
SELECT InvoiceID, InvoiceTotal, InvoiceDueDate
FROM Invoices
WHERE VendorID = 110

-- Get the latest 10 invoices for vendor 123: InvoiceID, InvoiceDueDate, InvoiceTotal
SELECT TOP 10 InvoiceID, InvoiceTotal, InvoiceDueDate
FROM Invoices
WHERE VendorID = 123
ORDER BY InvoiceDueDate DESC

-- Get the InvoiceID, VendorID, InvoiceDueDate, and InvoiceTotal for all invoices due between 1/1/2020 and 1/31/2020
SELECT InvoiceID, VendorID, InvoiceDueDate, InvoiceTotal
FROM Invoices
WHERE InvoiceDueDate BETWEEN '1/1/2020' AND '1/31/2020'

-- ######################################################################## --

-- Get top 10 unpaid invoices
SELECT TOP 10 InvoiceID, VendorID, InvoiceTotal, InvoiceDueDate FROM Invoices
WHERE PaymentDate IS NULL
ORDER BY InvoiceDueDate

SELECT VendorID, VendorName, VendorContactLName, VendorContactFName FROM Vendors
WHERE VendorID IN (72, 83, 80, 123, 110, 106, 37) -- Output from last query

-- Combine them with JOIN
SELECT TOP 10 InvoiceID, Invoices.VendorID, InvoiceTotal, InvoiceDueDate, VendorName, VendorContactLName, VendorContactFName
FROM Invoices
    JOIN Vendors ON Invoices.VendorID = Vendors.VendorID
WHERE PaymentDate IS NULL
ORDER BY InvoiceDueDate