Derived Table Error: "The multi-part identifier could not be bound"

Derived Table Error: "The multi-part identifier could not be bound"

我无法从我构建的查询中获得想要的结果。我要实现的总体目标是获取特定车辆当月的第一个里程表读数和当月的最后一个里程表读数。然后我想减去这两个以获得那个月的总行驶里程。我认为具有 window 函数的派生 table 最有助于实现此目标(参见下面的示例 SQL)。

SELECT 
    VEHICLE_ID2_FW
FROM 
    (SELECT 
         VEHICLE_ID2_FW,
         LOCATION_CODE_FW, 
         MIN(ODOMETER_FW) OVER(PARTITION BY YEAR(DATE_FW), MONTH(DATE_FW)) AS MIN_ODO,
         MAX(ODOMETER_FW) OVER(PARTITION BY YEAR(DATE_FW), MONTH(DATE_FW)) AS MAX_ODO
     FROM 
         GPS_TRIPS_FW) AS G

我让 运行 陷入一个问题,派生的 table 的查询本身运行并且 作品。但是,当我将它括在 FROM 子句中时,它会返回错误

The multi-part identifier could not be bound

希望我能得到一些帮助来解决这个问题,也许能找到一个总体上更好的方法来实现我的目标。谢谢!

里程表只会增加(好吧,应该是真的)。所以只需使用聚合:

select VEHICLE_ID2_FW, year(date_fw), month(date_fw), 
       min(ODOMETER_FW), max(ODOMETER_FW),
       max(ODOMETER_FW) - min(ODOMETER_FW) as miles_driven_in_month
from GPS_TRIPS_FW
group by VEHICLE_ID2_FW, year(date_fw), month(date_fw);

这回答了您的问题。不过,我不认为它可以解决您的问题,因为每月行驶的总英里数加起来不等于总行驶英里数。问题是月底的最后一个记录和下月初的第一个记录之间的行驶里程。

如果这是个问题,请问 另一个 问题。提供示例数据、所需结果和适当的数据库标记。