Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

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

Select an option

Save tu-trinh-scale/33423e9d3cf8fdd86728741e4617b5e0 to your computer and use it in GitHub Desktop.
WITH fall_year AS (
SELECT MAX(CAST(strftime('%Y', event_date) AS INTEGER)) AS yr
FROM Event
WHERE CAST(strftime('%m', event_date) AS INTEGER) BETWEEN 9 AND 12
),
ads AS (
SELECT e.event_name, b.amount
FROM Budget b
JOIN Event e ON b.link_to_event = e.event_id
JOIN fall_year fy ON CAST(strftime('%Y', e.event_date) AS INTEGER)=fy.yr
WHERE e.event_name IN ('Yearly Kickoff','October Meeting')
AND b.category='Advertisement'
),
ratio AS (
SELECT
(SELECT amount FROM ads WHERE event_name='Yearly Kickoff') * 1.0 /
(SELECT amount FROM ads WHERE event_name='October Meeting') AS ad_ratio
),
attendees AS (
SELECT DISTINCT a.link_to_member AS member_id
FROM Attendance a
JOIN Event e ON a.link_to_event = e.event_id
JOIN fall_year fy ON CAST(strftime('%Y', e.event_date) AS INTEGER)=fy.yr
WHERE e.event_name='October Meeting'
),
state_totals AS (
SELECT z.state, SUM(ex.reimbursed_amount) AS total_approved_expenditure
FROM Expense ex
JOIN Budget b ON ex.link_to_budget = b.budget_id
JOIN Event e ON b.link_to_event = e.event_id
JOIN attendees at ON ex.link_to_member = at.member_id
LEFT JOIN Member m ON ex.link_to_member = m.member_id
LEFT JOIN Zip_Code z ON m.zip = z.zip_code
JOIN fall_year fy ON CAST(strftime('%Y', e.event_date) AS INTEGER)=fy.yr
WHERE CAST(strftime('%m', e.event_date) AS INTEGER) BETWEEN 9 AND 12
AND ex.approved = '2'
GROUP BY z.state
)
SELECT r.ad_ratio, st.state AS highest_spend_state, st.total_approved_expenditure
FROM ratio r
LEFT JOIN state_totals st ON 1=1
ORDER BY st.total_approved_expenditure DESC
LIMIT 1;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment