как получить последнюю запись даты, объединяющую две таблицы? - PullRequest
1 голос
/ 08 июня 2011

Первая таблица: статус

ID               Status        date
1                PRO           10-02-2010
1                LWR           8-06-2011
1                Active      10-06-2011
2                PRO          10-02-2010
2                LWR           8-06-2011
2                PRO        10-06-2011
3                PRO           10-02-2010
3                LWR           8-06-2011
3                APS        10-06-2011

Вторая табе: профиль

ID                NAME
1                  Suba
2                  Jhon
3                  Felix

Мой ожидаемый вывод

1          Suba      Active        10-06-2011
2          Jhon      PRO           10-06-2011
3          Felix     APS           10-06-2011

Пожалуйста, объясните, как получить максимальную запись значения даты

Ответы [ 3 ]

5 голосов
/ 08 июня 2011

Использование:

SELECT a.*
  FROM YOUR_TABLE a
  JOIN (SELECT t.id,
               MAX(t.date) AS max_date
          FROM YOUR_TABLE t
      GROUP BY t.id) b ON b.id = a.id
                      AND b.max_date = a.date
2 голосов
/ 08 июня 2011

У вас там нет стола.Я вижу только один, и вам не нужно ни к чему присоединяться, чтобы получить желаемые результаты.

SELECT ID, Status, MAX(date) 
FROM `table` 
WHERE status='active' /* optional */
GROUP BY ID, Status

Кроме того, отображаемые вами даты не соответствуют тому, как сервер sql обычно форматирует даты.Вы уверены, что это столбец datetime?Если это не так, это должно быть.Исправьте это, прежде чем делать что-либо еще.

0 голосов
/ 08 июня 2011
SELECT *, max(date) as max_date FROM `table` order by max_date desc;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...