Я наткнулся на кирпичную стену на этом, надеюсь, кто-то умнее меня сможет указать мне правильное направление?
У меня есть таблица ORDERS, содержащая заказы (удивительно).
Iтакже есть таблица загрузки.ЗАГРУЗКИ содержат поле ORDERID, которое является идентификатором таблицы заказа.
ЗАГРУЗКИ имеет поле ATTEMPT.Каждая загрузка создает запись в DOWNLOADS, и каждая запись увеличивает значение в ATTEMPT.
Я просто хочу получить значение MAX в ATTEMPT, чтобы я мог сказать пользователям, на какую попытку они (или сколько попыток ониосталось).
ЗАГРУЗКИ могут иметь или не иметь никаких связанных записей, в зависимости от того, загружал ли пользователь еще попытку.При каждой попытке загрузки создается запись в ЗАГРУЗКАХ.
Итак, в упрощенном виде я пытаюсь сделать что-то вроде:
SELECT orders.*,MAX(downloads.attempt)
FROM orders
LEFT JOIN downloads on downloads.orderid = orders.id
WHERE orders.userid = '123'
Вернее, я пытаюсь получить все пользовательские заказы, с МАКСОМ попыток загрузки, где существуют любые попытки загрузки (записи в ЗАГРУЗКАХ) - или ноль, если их нет.
Я весь день проходил через stackoverflow, просматривая похожие примеры, но почему-то все подобные примерыочень сложно.Есть ли простой (или хотя бы элегантный) способ сделать это?
Хотелось бы получить немного помощи.
Спасибо.