I have two tables. One (Widgets) has a list of widgets (ID, widget_name, color, etc...) and data about them. The other one (Tests) has a list of tests run on the widgets (ID, d
(assuming all dates for the same widget are unique)
select T.*
from Widget W
join Test T on T.widget_id = W.id
where T.date >= (
select max(T2.date)
from Test T2
where T2.widget_id = W.id
and T2.date < (
select max(T3.date)
from Test T3
where T3.widget_id = W.id
)
)
or T.date == (
select max(T2.date)
from Test T2
where T2.widget_id = W.id
)