我是SQL的初学者,但似乎无法针对这个问题提出正确的查询:
使用相关子查询为每个客户返回一行,代表客户的最旧订单(日期最早的那一行)。每行应包括以下三列:EmailAddress,OrderID和OrderDate。
我从加入订单和客户表开始。EmailAddress是客户表中唯一需要的列。
SELECT EmailAddress, OrderDate, orderID
FROM Customers c JOIN orders o
ON c.CustomerID = o.CustomerID
Run Code Online (Sandbox Code Playgroud)
小智 5
一个不太复杂的答案:
SELECT EmailAddress, OrderID, OrderDate AS OldestOrder
FROM Customers AS C
JOIN Orders AS O1
ON C.CustomerID = O1.CustomerID
WHERE O1.OrderDate =
(SELECT MIN(OrderDate)
FROM Orders AS O2
WHERE C.CustomerID = O2.CustomerID)
Run Code Online (Sandbox Code Playgroud)