列在选择列表中无效,因为它不包含在聚合函数中

列在选择列表中无效,因为它不包含在聚合函数中

问题描述:

下面是我的查询。因为它不是在聚合函数或GROUP BY子句包含列在选择列表中无效,因为它不包含在聚合函数中

alter Proc Rp_ByVehicleNo 

@Vehicle_Number nvarchar(50), 
@DateFrom datetime, 
@DateTo datetime 
as 

select Vehicle_Number,Vehicle_Booking_Date,Time_From,Time_To,KM_Start,KM_End, 
     Total, 
     SUM(Total) as tot, Vehicle_Used_By,Cost_Code 
from mtblLog_Book 
where  [email protected]_Number and 
    Vehicle_Booking_Date between @DateFrom and @DateTo 
order  BY Vehicle_Booking_Date 

表示错误

列“mtblLog_Book.Vehicle_Number”是在选择列表中无效。

您的查询包含一个聚合函数SUM(Total)但不包括GROUP BY语句。如果您需要SUM用于所有表格,则不应在选择列表中包含其他字段。否则,如果您需要按这些字段进行分组并计算SUM,则应将GROUP BY Vehicle_Number,Vehicle_Booking_Date,Time_From,Time_To,KM_Start,KM_End,Total,Vehicle_Used_By,Cost_Code添加到您的查询中。