======================================================================== Cross-Grain Brewing — Distribution Analysis — Grading Feedback ======================================================================== Student: Aisha Lund File: Aisha Lund - Cross-Grain Distribution - Mar 4, 2026 0938 AM - submission.sql Score: 81.00 / 100.00 (81.0%) Grade: B- ------------------------------------------------------------------------ Question 1 — 1.00 / 5.00 (20.0%) ------------------------------------------------------------------------ Submitted: SELECT beers.beerName, beers.abv, beers.ibu FROM craftbrewery.beers WHERE beers.isActive = 1; Feedback: + Significant issues found. Review requirements carefully. Point deductions: ! Query requires an ORDER BY clause but none is present (-4) ------------------------------------------------------------------------ Question 2 — 10.00 / 10.00 (100.0%) ------------------------------------------------------------------------ Submitted: SELECT beers.beerName, styles.styleName FROM craftbrewery.beers JOIN craftbrewery.styles ON beers.styleId = styles.styleId ORDER BY styles.styleName ASC, beers.beerName ASC; Feedback: + Perfect! All requirements met. ------------------------------------------------------------------------ Question 3 — 10.00 / 10.00 (100.0%) ------------------------------------------------------------------------ Submitted: SELECT accountName, city, COUNT(orderId) AS totalOrders FROM accounts LEFT JOIN orders ON accountId = accountId GROUP BY accountId, accountName, city ORDER BY totalOrders DESC; Feedback: + Perfect! All requirements met. ------------------------------------------------------------------------ Question 4 — 15.00 / 15.00 (100.0%) ------------------------------------------------------------------------ Submitted: SELECT beers.beerName, COUNT(DISTINCT DATE(taproomSales.saleDate)) AS distinctSaleDates FROM craftbrewery.beers JOIN craftbrewery.taproomSales ON beers.beerId = taproomSales.beerId GROUP BY beers.beerId, beers.beerName HAVING COUNT(DISTINCT DATE(taproomSales.saleDate)) > 3 ORDER BY distinctSaleDates DESC; Feedback: + Perfect! All requirements met. ------------------------------------------------------------------------ Question 5 — 15.00 / 15.00 (100.0%) ------------------------------------------------------------------------ Submitted: SELECT territories.territoryName, territories.salesRep, SUM(orderLines.lineTotal) AS totalRevenue FROM craftbrewery.territories JOIN craftbrewery.accounts ON territories.territoryId = accounts.territoryId JOIN craftbrewery.orders ON accounts.accountId = orders.accountId JOIN craftbrewery.orderLines ON orders.orderId = orderLines.orderId WHERE orders.status = 'Delivered' GROUP BY territories.territoryId, territories.territoryName, territories.salesRep ORDER BY totalRevenue DESC; Feedback: + Perfect! All requirements met. ------------------------------------------------------------------------ Question 6 — 15.00 / 15.00 (100.0%) ------------------------------------------------------------------------ Submitted: SELECT batches.batchCode, batches.brewDate, batches.volumeLitres FROM craftbrewery.batches WHERE batches.beerId IN (SELECT beerTags.beerId FROM craftbrewery.beerTags WHERE beerTags.tagName = 'Seasonal') ORDER BY batches.brewDate ASC; Feedback: + Perfect! All requirements met. ------------------------------------------------------------------------ Question 7 — 0.00 / 15.00 (0.0%) ------------------------------------------------------------------------ Feedback: + No query submitted for this question. Point deductions: ! Query not found or empty (-all points) ------------------------------------------------------------------------ Question 8 — 15.00 / 15.00 (100.0%) ------------------------------------------------------------------------ Submitted: SELECT DISTINCT accounts.accountName, accounts.accountType, accounts.city FROM craftbrewery.accounts JOIN craftbrewery.orders ON accounts.accountId = orders.accountId JOIN craftbrewery.orderLines ON orders.orderId = orderLines.orderId WHERE orderLines.beerId IN (SELECT orderLines.beerId FROM craftbrewery.orderLines GROUP BY orderLines.beerId HAVING SUM(orderLines.quantity) > 500) ORDER BY accounts.accountName ASC; Feedback: + Perfect! All requirements met.