列在选择列表中无效,因为它不包含在聚合函数中
问题描述:
下面是我的查询。因为它不是在聚合函数或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
添加到您的查询中。