У меня есть таблица под названием TEST
с 5 столбцами: clientName, clientID, productNum, orderNum, orderDeliveryDate
и тысячами строк. Он в основном хранит заказы. Каждый заказ может состоять из нескольких элементов продукта, и каждый товар может иметь конкретную дату поставки.Как создать запрос, который дает MAXDATE для каждого заказа?
мне нужно получить таблицу, которая показывает, для каждого orderNum
последней orderDeliveryDate
, а остальные TEST
столбцов таблицы (NB: NULL
значения должны быть исключены, так как она не должна рассматриваться как действительные даты).
Я знаю, что мне нужно использовать JOIN, но не могу найти решение.
SELECT *
FROM `TEST`
INNER JOIN
(SELECT
orderNum, MAX(orderDeliveryDate) AS maxdate
FROM TEST
GROUP BY orderNum) groupedorders ON TEST.orderNum = groupedorders.orderNum
AND TEST.orderDeliveryDate = groupedorders.maxdate
GROUP BY orderNum
ORDER BY groupedorders.maxdate ASC
Может ли кто-нибудь помочь мне решить эту проблему?
Благодарим за помощь.
Пожалуйста, прочтите [Как спросите ** хороший ** вопрос?] (http://stackoverflow.com/help/how-to-ask) и опирайтесь на него –
Спасибо marc_s. Я изменил вопрос для большей ясности. –
Какие РСУБД это? Добавьте тег, чтобы указать, используете ли вы 'mysql',' postgresql', 'sql-server',' oracle' или 'db2' - или что-то еще. –