php: отношение один ко многим получает последнюю строку таблицы множественных отношений - PullRequest
0 голосов
/ 14 марта 2019

У меня есть две таблицы, одна из которых имеет депозит (таблица: депозит), другая таблица содержит комментарии для депозитов (таблица: комментарий).

Обе таблицы связаны отношением 1 ко многим, т. Е. Один депозит может иметь много комментариев.

Ниже запрос дает все комментарии, но Я хочу только последний комментарий (таблица комментариев имеет автоматически сгенерированный идентификатор)

SELECT 
    D.missing_deposit_amount,
    D.missing_deposit_date,
    C.comment
    FROM deposit AS D
    LEFT JOIN comments AS C on 
    C.md_id=D.md_id 
    WHERE 1

Как я могу расширить этот запрос, чтобы дать только последний комментарий, соответствующий депозиту?

1 Ответ

1 голос
/ 14 марта 2019

Вы можете искать последний, используя коррелированный подзапрос:

SELECT D.missing_deposit_amount, D.missing_deposit_date,
       C.comment
FROM deposit D LEFT JOIN
     comments C on 
     ON C.md_id = D.md_id AND
        c.id = (SELECT MAX(c2.id) FROM comments c2 WHERE c2.md_id = c.md_id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...