Итак, у меня есть две таблицы, у каждого есть все данные, а у других есть список комментариев, и мне нужно загрузить последний комментарий для каждой строки в таблице данных. Вот как это выглядитSQL - вернуть последний комментарий для каждой строки
Таблица: queries
id | name |
--------------------
1 | John Doe |
2 | Jane Doe |
3 | Alex Smith |
Таблица: messages
id | queriesId | comment | dateAdded |
--------------------------------------------------------
1 | 1 | Comment 1 | 2016-06-12 15:00:08 |
2 | 1 | Commetn 2 | 2016-06-12 15:01:08 |
3 | 2 | Comment 3 | 2016-06-12 15:05:35 |
4 | 2 | Comment 4 | 2016-06-12 15:06:35 |
Я хочу, чтобы результаты, чтобы посмотреть, как этот
id | name | comment | dateAdded |
--------------------------------------------------------
1 | John Doe | Commetn 2 | 2016-06-12 15:01:08 |
2 | Jane Doe | Comment 4 | 2016-06-12 15:06:35 |
3 | Alex Smith | Null | Null |
Я попробовал этот код
SELECT
a.*,
b.comment,
b.LastComment
FROM
queries a
LEFT JOIN
(
SELECT
`comment`,
MAX(dateAdded) LastComment,
queriesid
FROM
messages
GROUP BY
queriesid
) b ON a.id = b.queriesid
GROUP BY
a.id
но результат я получаю это
id | name | comment | dateAdded |
--------------------------------------------------------
1 | John Doe | Commetn 1 | 2016-06-12 15:01:08 |
2 | Jane Doe | Comment 3 | 2016-06-12 15:06:35 |
3 | Alex Smith | Null | Null |
Так единственная проблема заключается комментарий первая запись, а не один, соответствующий со значением столбца даты и времени. Я пробовал много изменений, но, похоже, он не работает. Я уверен, что это крошечная настройка от работы, но я не могу ее найти.
Любые идеи?
который DBMS вы используете? mysql или sql-сервер? –
Обратные тики на '\' comment \ '' выглядят как MySQL. –
Извините, не нужно было выбирать оба тега, это mysql – VeeK