我有兩個表。一個是基本的客戶信息,一個是訂購信息。選擇與關聯值MAX(日期)
我正在嘗試查找訂單狀態爲'已放置'或'已取消'的最大(訂單日期)。我不在乎是否放置或取消狀態。我只想要最近的訂單。
第一個表(信息)
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
如果在同一天訂購和取消訂單,該怎麼辦?你想要哪一排? –