Да, вы что-то упускаете: отличные новые языковые функции в SQL Server 2005 и более поздних версиях! В частности, аналитические функции, такие как row_number () и очень классное соединение CROSS APPLY.
row_number решает первый вопрос (выбирая «самое высокое» что-то для заданной другой вещи):
with Ranked(a,b,c,d,rk) as (
select T1.a,T2.b,T2.c,T2.d,
row_number() over (
partition by T1.a
order by T2.x desc
)
from T1 join T2 on someCondition
)
select a,b,c,d
from Ranked
where rk = 1;
CROSS APPLY решает второй вопрос - создание источника таблицы «на основе MaxJob.JobID»:
select *
from tableOrJoin
cross apply (
select stuff
from elsewhere
where something = tableOrJoin.JobID
) as A
Другими словами, он позволяет вам иметь «коррелированное соединение», используя значение столбца из левого источника таблицы в определении правого источника таблицы.
Если у вас есть конкретный вопрос, пожалуйста, дайте более конкретную информацию. Я подозреваю, что вы можете использовать обе эти новые функции в своем решении.