C# C中的sql命令错误#
我编写这段代码是为了从数据库中的两个表中检索一些信息。但是当我运行它时,我得到了这个错误 列'eated_food.Cardserial'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中 代码:C# C中的sql命令错误#,c#,sql-server,C#,Sql Server,我编写这段代码是为了从数据库中的两个表中检索一些信息。但是当我运行它时,我得到了这个错误 列'eated_food.Cardserial'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中 代码: 如何解决它?问题在于您的sql查询。如果使用分组依据,则无法选择未按分组或未聚合的列(例如,使用Min/Max/Avg/Count) 因此,您可以通过以下方式使其工作:例如,在此处更改您的旧查询: SELECT eaten_food.cardserial, eaten_f
如何解决它?问题在于您的sql查询。如果使用
分组依据
,则无法选择未按分组或未聚合的列(例如,使用Min/Max/Avg/Count
)
因此,您可以通过以下方式使其工作:例如,在此处更改您的旧查询:
SELECT eaten_food.cardserial,
eaten_food.date,
eaten_food.turn,
avb_food_count,
reserve_count
FROM reserve
INNER JOIN eaten_food
ON reserve.cardserial = eaten_food.cardserial
GROUP BY eaten_food.date
致:
SQL语句本身有问题。我会将其复制到SQL management studio并进行调试 group函数用于创建摘要行,因此select列需要是group by子句的一部分,或者是statmet的摘要类型,如sum(x)或count(x) 下面的方法可能有效
SELECT Eaten_food.Cardserial ,
Eaten_food.Date ,
Count(Eaten_food.Turn) ,
sum(Avb_food_count) ,
sum(Reserve_count)
FROM Reserve
INNER JOIN Eaten_food ON Reserve.Cardserial = Eaten_food.Cardserial
GROUP BY Eaten_food.Date, Eaten_food.CardSerial
您希望查询的
分组依据
部分实现什么?
SELECT MIN(eaten_food.cardserial)AS Cardserial,
eaten_food.date,
MIN(eaten_food.turn) AS Turn,
SUM(avb_food_count) AS SumFoodCount,
SUM(reserve_count) AS SumReserveCount
FROM reserve
INNER JOIN eaten_food
ON reserve.cardserial = eaten_food.cardserial
GROUP BY eaten_food.date
SELECT Eaten_food.Cardserial ,
Eaten_food.Date ,
Count(Eaten_food.Turn) ,
sum(Avb_food_count) ,
sum(Reserve_count)
FROM Reserve
INNER JOIN Eaten_food ON Reserve.Cardserial = Eaten_food.Cardserial
GROUP BY Eaten_food.Date, Eaten_food.CardSerial