How about: ???select speedlocations.hwy, speed.speedmph, speed.datetime, speedlocations.[cross]from speedlocations inner join speed on speedlocations.id = speed.id inner join( select speedlocations.hwy, max(speed.datetime) as maxdate, speedlocations.[cross] from speedlocations inner join speed on speedlocations.id = speed.id where (speedlocations.city = 'hou') group by speedlocations.hwy, speedlocations.[cross] ) as maxdate_per_hwy_cross on speedlocations.hwy = maxdate_per_hwy_cross.hwy and speedlocations.[cross] = maxdate_per_hwy_cross.[cross] and speed.datetime = maxdate_per_hwy_cross.maxdate
rockmoose