0

我正在尝试创建一个 Sql 函数,通过指定学生的班级状态来获取学生列表。我可以创建一个函数来为单个用户检索此类信息,但是当我尝试获取所有学生的列表时,我得到这个错误。这是我在 Sql 中的函数声明:

    CREATE FUNCTION dbo.Function_GetListOfStudentsWithClassStatus
    (
@ClassTypeid int,
@VerificationCode bit
    )
RETURNS TABLE/* @table_variable TABLE (column1 datatype, column2 datatype) */
AS

    RETURN SELECT        *, COUNT(*) AS CLassNumbers
FROM            dbo.tblClass2
WHERE         (ClassTypeID = @ClassTypeid) AND (Verified = @VerificationCode)
GROUP BY StNID
4

1 回答 1

1

使用聚合函数时(您使用的是 COUNT),您应该始终在查询的GROUP BY子句中包含所有正在选择但未被所述函数处理的字段。

在您的示例中,您选择“*”,这意味着该表中的每个字段都需要在您的 GROUP BY 子句中提及。

于 2012-08-12T10:19:17.840 回答