我想编写一个查询,该查询使用“加入概念”来为每个订单返回自同一客户的上一个订单以来经过的天数。
我正在使用AdventureWorks2017
数据库,表Sales.SalesOrderHeader
我尝试了以下代码,但我实际上希望它通过连接概念:
select customerid,
orderdate,
salesorderid,
datediff(day,
(select top(1) s1.orderdate
from sales.SalesOrderHeader s1
where s1.CustomerID=s.CustomerID
and (s1.OrderDate = s.Orderdate
and s1.SalesOrderID < s.Salesorderid
or s1.OrderDate < s.orderdate)
order by s1.orderdate desc,s1.SalesOrderID desc
),
orderdate) as Daysdifference
from sales.SalesOrderHeader s
order by CustomerID,OrderDate,SalesOrderID