Таблицы SQL объединены с макс - PullRequest
0 голосов
/ 04 мая 2018

Я работаю с двумя таблицами. У меня есть полный список групп в таблице A и список каждого члена группы, который был просмотрен в таблице B. Поэтому таблица B представляет собой журнал всех записей обзора для этих членов для каждой группы.

select a.Group_Name, Max(b.Request_Review_Date)
From GroupTable a
Left Outer Join GroupReviews b ON a.Group_Name = b.Group_Name
Group By a.Group_Name

То, что я пытаюсь вернуть, - это полный список групп из таблицы A, и найти последнюю дату проверки из таблицы B для каждой из этих групп.

Я исследовал и перепробовал все или большинство внутренних и внешних объединений, применял методы ... но это просто не дает мне результатов. Может кто-то указать мне верное направление? Или мне приходится возвращать два набора результатов и сравнивать их в моем коде ASP?

Ответы [ 2 ]

0 голосов
/ 04 мая 2018

Попробуйте CTE, затем присоединитесь к нему

   WITH Recent AS
  (

  select group_name, max(Request_Review_Date) AS 'MaxReviewDate'
  from GroupReviews
  group by  group_name


  )
    select a.group_name, MaxReviewDate
    from GroupTable a left join Recent 
    on group_name = a.group_name
0 голосов
/ 04 мая 2018

если вам нужно значение max для всех строк имени a.group, ypu должен присоединиться к подзапросу для максимальной даты

select a.Group_Name, t.max_date 
left join (

select b.Group_Name, Max(b.Request_Review_Date) max_date
from GroupReviews b 
Group By b.Group_Name
) t  on t.Group_Name = a.Group_Name
...