我有用于阅读用户阅读的通用表。在一个表中有一个名为odometerReading
的列,用户在其中写入车辆读数。一辆车可以有几个odometerReading
个条目。
我想使用此列并在我的#temp表中创建两列。开始K将是最后一个odometerReading
(如果有一个先前的记录,这将是读数),结束K(这将是用户放入的当前读数)。如果车辆没有先前的记录,则开始和结束将是相同的。如果车辆有先前的记录,则开始和结束将不同)。
原始SQL语句对我来说太长了。任何帮助您的指导将非常感激。
SELECT
#FuelSummary.Code, #FuelSummary.[Driver Name],
#FuelSummary.[Start K], #FuelSummary.[Start K] AS 'Last K'
FROM
#FuelSummary
答案 0 :(得分:0)
我认为您正在寻找类似下面的内容
SELECT
#FuelSummary.Code, #FuelSummary.[Driver Name],
ISNULL(LAG(#FuelSummary.[Start K]) OVER (ORDER BY #FuelSummary.Code),0) [Start K] , #FuelSummary.[Start K] AS 'Last K'
FROM #FuelSummary
ORDER BY #FuelSummary.Code