SQL запрос на выборку из двух таблиц

329
09 апреля 2017, 01:56

Существует две таблицы: dialog(id,firstname) и message(id, dialog_id, text, time). Необходимо выбрать все записи dialog, при этом к каждой записи dialog выбрать последнюю запись message, относящаяся к этому dialog

dialog.id | dialog.firstname | message.text | message.time

Прошу вашей помощи, камрады.

Answer 1

Ничего сложного. Присоединяем, как мостик, к таблице dialog к каждой записи последний id из таблицы message, затем присоединяем остальные поля:

select d.*, mess.text, mess.time
from dialog d left join
    (select dialog_id, max(id) as max_id /*либо max(time)*/
     from message 
     group by dialog_id) m ON d.id = m.dialog_id
    join message mess ON m.max_id = mess.id
READ ALSO
Разница во времени на Java

Разница во времени на Java

Как задать 2 даты и посмотреть сколько времени между ними прошло

300
Как в WebView загрузить картинку из памяти?

Как в WebView загрузить картинку из памяти?

Создаю картинку вот так:

292
Выборка элементов из XSLT

Выборка элементов из XSLT

В моем приложении использую XML и конфигурацию для него XSLTЗадача заключается в обработке из XML данных, которые используются XSLT

294