Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save tu-trinh-scale/7679d605471716d41330f786754b171e to your computer and use it in GitHub Desktop.

Select an option

Save tu-trinh-scale/7679d605471716d41330f786754b171e to your computer and use it in GitHub Desktop.
WITH
-- Find the most recent fall semester's October Meeting and Yearly Kickoff events
fall_events AS (
SELECT event_id, event_name, event_date
FROM Event
WHERE event_name IN ('Yearly Kickoff', 'October Meeting')
AND CAST(strftime('%m', event_date) AS INTEGER) BETWEEN 8 AND 12
ORDER BY event_date DESC
),
-- Get Advertisement budgets for both events
ad_budgets AS (
SELECT
e.event_name,
e.event_id,
b.amount AS ad_budget
FROM Budget b
JOIN fall_events e ON b.link_to_event = e.event_id
WHERE b.category = 'Advertisement'
),
-- Get the most recent October Meeting event_id (for finding attendees)
oct_meeting_event AS (
SELECT event_id FROM fall_events WHERE event_name = 'October Meeting' ORDER BY event_date DESC LIMIT 1
),
-- Budget ratio
budget_ratio AS (
SELECT
MAX(CASE WHEN event_name = 'Yearly Kickoff' THEN ad_budget END) AS kickoff_budget,
MAX(CASE WHEN event_name = 'October Meeting' THEN ad_budget END) AS oct_budget,
ROUND(
MAX(CASE WHEN event_name = 'Yearly Kickoff' THEN ad_budget END) * 1.0 /
MAX(CASE WHEN event_name = 'October Meeting' THEN ad_budget END),
4
) AS times_larger
FROM ad_budgets
),
-- State with highest total approved expenditure among October Meeting attendees
state_totals AS (
SELECT
z.state,
ROUND(SUM(ex.cost), 2) AS total_approved_expenditure,
RANK() OVER (ORDER BY SUM(ex.cost) DESC) AS rnk
FROM Expense ex
JOIN Member m ON ex.link_to_member = m.member_id
JOIN Zip_Code z ON m.zip = z.zip_code
WHERE ex.approved = '2'
AND ex.link_to_member IN (
SELECT link_to_member FROM Attendance WHERE link_to_event = (SELECT event_id FROM oct_meeting_event)
)
GROUP BY z.state
)
SELECT
br.kickoff_budget AS yearly_kickoff_ad_budget,
br.oct_budget AS october_meeting_ad_budget,
br.times_larger AS ad_budget_times_larger,
st.state AS top_state_by_approved_expenditure,
st.total_approved_expenditure AS top_state_total_approved_expenditure
FROM budget_ratio br, state_totals st
WHERE st.rnk = 1;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment