В моей базе данных есть следующие данные:
| ID | FK_ID | MODEL | DATE |
+------+--------+-------+-------------------+
|1 | 11 | m1 |NULL |
|2 | 11 | m1 |NULL |
|3 | 11 | m2 |2019-05-08 12:04:24|
|4 | 11 | m2 |2019-05-08 12:07:43|
|5 | 11 | m2 |2019-05-08 12:08:37|
|6 | 11 | m3 |2019-05-08 12:13:19|
|7 | 11 | m3 |NULL |
|8 | 12 | m7 |2019-05-08 12:04:14|
Я хочу получить самую последнюю ДАТУ каждой МОДЕЛИ, но если ДАТА для МОДЕЛИ равна нулю, то я хочу получить НЕДЕЙСТВИТЕЛЬНОЕ вместо самой последней даты.
Ожидаемый результат
| MODEL | DATE |
+-------+-------------------+
| m1 |NULL |
| m2 |2019-05-08 12:08:37|
| m3 |NULL |
Я попробовал следующий запрос:
SELECT MODEL, DATE FROM MODEL_TABLE
WHERE FK_ID = 11 AND (DATE IN (
SELECT MAX(DATE)
FROM MODEL_TABLE
GROUP BY MODEL
) OR DATE IS NULL)
GROUP BY MODEL;
Но я получаю следующий результат:
Фактический вывод (неверный)
| MODEL | DATE |
+-------+-------------------+
| m1 |NULL |
| m2 |2019-05-08 12:08:37|
| m3 |2019-05-08 12:13:19|
Может кто-нибудь сообщить мне, как можно исправить запрос, чтобы получить ожидаемый результат