The lastReports
subquery by itself, returns 10 rows. The "wrapper" records do exist, but when I join them, I get 0 rows returned in 12ms from:
This is on SQLite.
My joins is good, I'm not making a selection mistake mistake(SQL LEFT JOIN Subquery Alias)... what am I missing, or not understanding?
SELECT
name
FROM
teachers
INNER JOIN (SELECT
teacher_id,
reportingPeriod,
ReportingType,
date('now') - 3 as AgeOfReport,
count(id) as NumberOf
FROM
reports
GROUP BY
teacher_id
ORDER BY
teacher_id ASC,
reportingPeriod asc
) AS lastReports
ON teachers.id = lastReports.teacher_id;
SAMPLE DATA
TEACHERS
ID NAME
-----------------
1 Mr John Smith
2 Ms Janet Smith
REPORTS
---------------------------------------------------
ID TEACHER_ID REPORTINGPERIOD REPORTINGTYPE
1 1 Jan 2017 Draft
2 1 Feb 2017 Draft
3 2 Jun 2018 Draft
4 2 Jul 2018 Draft
5 1 Mar 2017 Final
DESIRED RESULTS
------------------
Mr John Smith Final Mar 2017
Ms Janet Smith Draft Jul 2018