У меня есть две таблицы. Одна из них - основная информация о клиенте, а другая - информация для заказа.выберите MAX (date) с ассоциированным значением
Я пытаюсь найти максимальную (дату заказа) с статусом заказа 'placement'or'cancelled'. Меня не волнует, если статус был помещен или отменен. Мне просто нужен самый последний заказ.
Первая таблица (Info)
CustomerID LAST NAME FIRST NAME
1 AB BOB
2 BC ROBERT
3 AA JOHN
Вторая таблица (заказ)
CustomerID Order Date Order Status
1 12/16/2016 placed
2 8/5/2016 cancelled
1 5/8/2015 cancelled
2 8/9/2016 placed
3 7/15/2016 cancelled
3 8/20/2015 placed
Я хочу, чтобы результат:
CustomerID FirstName LastName OrderDate OrderStatus
1 AB BOB 12/16/2016 placed
2 BA ROBERT 8/9/2016 placed
3 AA JOHN 7/15/2016 cancelled
Вот мой SQL синтаксис
SELECT distinct Info.CustomerID, Info.Lastname,Info.Firstname
FROM INFO
INNER JOIN
(SELECT
order.CustomerID, LastOrderDate=max(OrderDate),order.OrderStatus
FROM Order
GROUP BY order.CustomerID, order.orderstatus)a
ON a.CustomerID=Info.CustomerID
Это не сработало, потому что оно группируется по статусу заказа, который дает мне максимальную дату каждого из всех orderstatus. Затем я попробовал
SELECT distinct Info.CustomerID, Info.Lastname,Info.Firstname, Order.OrderStatus
FROM INFO, Order
INNER JOIN
(SELECT
order.CustomerID, LastOrderDate=max(OrderDate)
FROM Order
GROUP BY order.CustomerID)a
ON a.CustomerID=Info.CustomerID
Это не сработало ни потому, что говорит, что Info.CustomerID не может быть привязан.
Любые помощь? Благодаря!
Вы хотите только дату или соответствующую строку заказа? –
Соответствующий ряд заказов. Статус даты и заказа – CHYP123
Что делать, если заказ был размещен и отменен в тот же день? Какую строку вы хотите? –