Sql 使用查询检索当前值和以前的值
我需要检索为特定车辆下的任何燃油订单的当前和以前的里程表读数。我使用了下面的查询,但是没有检索到以前的里程表读数。我可能做错了什么 这是我从查询中得到的结果:Sql 使用查询检索当前值和以前的值,sql,Sql,我需要检索为特定车辆下的任何燃油订单的当前和以前的里程表读数。我使用了下面的查询,但是没有检索到以前的里程表读数。我可能做错了什么 这是我从查询中得到的结果: doc# doc_status Vehicle Fuel_type Current Previous Odometer Odometer
doc# doc_status Vehicle Fuel_type Current Previous
Odometer Odometer
Reading Reading
1902011 APPROVED KAP 725W ISUZU DIESEL 502199 NULL
1902012 APPROVED KBR 878U ISUZU DIESEL 98094 NULL
1902013 APPROVED KBR 877U ISUZU DIESEL 150334 NULL
1902014 APPROVED KBU 812T ISUZU DIESEL 175166 NULL
以下是查询:
SELECT
dbo.t_doc_data.docNo,
dbo.t_doc_data.docstatus,
dbo.t_doc_fuelorders.fovid,
dbo.t_fuel_order_vehicles.vregno,
dbo.t_doc_fuelorders.fofueltype,
(SELECT
MAX(foodometer)
FROM dbo.t_doc_fuelorders
WHERE docNo = dbo.t_doc_data.docNo
AND fovid = t_doc_fuelorders.fovid)
current_odometer_reading,
(SELECT
MAX(foodometer)
FROM dbo.t_doc_fuelorders
WHERE docNo = dbo.t_doc_data.docNo
AND fovid = t_doc_fuelorders.fovid
AND foodometer < (SELECT
MAX(foodometer)
FROM dbo.t_doc_fuelorders
WHERE docNo = dbo.t_doc_data.docNo
AND fovid = t_doc_fuelorders.fovid))
previous_odometer_reading
FROM dbo.t_doc_data
INNER JOIN dbo.t_doc_fuelorders
ON dbo.t_doc_data.docNo = dbo.t_doc_fuelorders.docNo
INNER JOIN dbo.t_fuel_order_vehicles
ON dbo.t_doc_fuelorders.fovid = dbo.t_fuel_order_vehicles.vid
请指定您的数据库,SQL是一个常用引用。您可以使用lag函数访问上一行的值。lag函数完成了此操作。谢谢。请指定您的数据库,SQL是一个常用的参考。您可以使用lag函数访问上一行的值。lag函数做到了这一点。非常感谢。