Mysql 试图执行的查询未将指定表达式“StaffDetails.StaffID”作为聚合函数的一部分
我有一个名为DGHours的数据网格,我想用下面的SQL填充它。但是,我收到了错误消息“附加信息:您试图执行的查询未将指定表达式“StaffDetails.StaffID”作为聚合函数的一部分。我不明白我的sql有什么问题,是否需要帮助?我希望数据网格显示StaffID、FirstName、LastName以及内部连接的StaffID的总小时数。我认为问题在于时间表。小时数Mysql 试图执行的查询未将指定表达式“StaffDetails.StaffID”作为聚合函数的一部分,mysql,sql,vb.net,ms-access,Mysql,Sql,Vb.net,Ms Access,我有一个名为DGHours的数据网格,我想用下面的SQL填充它。但是,我收到了错误消息“附加信息:您试图执行的查询未将指定表达式“StaffDetails.StaffID”作为聚合函数的一部分。我不明白我的sql有什么问题,是否需要帮助?我希望数据网格显示StaffID、FirstName、LastName以及内部连接的StaffID的总小时数。我认为问题在于时间表。小时数 如果您使用方括号,它们应该包括每个单独的组件,比如表名或列名,而不是全部内容:使用e。G[StaffDetails]。[S
如果您使用方括号,它们应该包括每个单独的组件,比如表名或列名,而不是全部内容:使用e。G[StaffDetails]。[StaffID]而不是StaffDetails.StaffID] 但在您的情况下,您也可以省略语句中的所有方括号。只有在表名或列名中有空格、逗号等特殊字符,或者使用SELECT或FROM等SQL关键字作为表名时,才需要这些字符,这是一种糟糕的做法 此外,如果在某些列上使用Sum之类的聚合函数,则需要按其他列进行分组,即。E对于您的查询,您必须附加
GROUP BY StaffDetails.StaffID,
StaffDetails.FirstName,
StaffDetails.LastName,
TimeSheet.StaffID
直到您的查询结束。谢谢,还是运气不好,问题在于我认为的金额?那么喜欢吗?Dim SqlQuery As String=选择[StaffDetails.StaffID],[StaffDetails.FirstName],[StaffDetails.LastName],[TimeSheet.StaffID],SUMTimeSheet.Hours FROM[StaffDetails]内部联接[TimeSheet]在[StaffDetails]上的[StaffID=[TimeSheet]。StaffID其中[TimeSheet]。TimeSheetMonth='&cbMonth.Text&'按StaffDetails.StaffID分组,StaffDetails.FirstName、StaffDetails.LastName、时间表。StaffID@Hayden是的,但是注意方括号!成功了!明亮的谢谢
GROUP BY StaffDetails.StaffID,
StaffDetails.FirstName,
StaffDetails.LastName,
TimeSheet.StaffID