All pastes #770390 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-11-12 06:49 UTC
rendered paste body
SELECT s.username, COUNT(DISTINCT i.invoice) invoices_due 
FROM ssm_demo_students s 
JOIN ssm_demo_users u ON u.username = s.username 
JOIN (SELECT MAX(IF(end_semester < NOW(), semester, null)) last_semester, 
	     MAX(IF(semester <= NOW(), semester, null)) this_semester, 
	     MIN(IF(semester > NOW(), semester, null)) next_semester FROM ssm_demo_semesters) t 
LEFT JOIN ssm_demo_registrations r ON r.username = s.username 
JOIN ssm_demo_classes c ON (c.class = r.class 
		   AND (c.semester = t.last_semester 
		        OR c.semester = t.this_semester 
		        OR c.semester = t.next_semester 
		       )
		  ) 
LEFT JOIN ssm_demo_invoice_recipients i ON i.username = s.username AND i.paid = 0 
GROUP BY s.username, c.semester  
ORDER BY u.last_name ASC 
LIMIT 0,20;