0

クラスのステータスを指定して学生のリストを取得するSQL関数を作成しようとしています。1人のユーザーのそのような情報を取得する関数を作成できますが、すべての学生のリストを取得しようとすると、このエラーが発生します。これは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句に、選択されているが、上記の関数によって処理されていないすべてのフィールドを常に含める必要があります。

この例では、「*」を選択しています。これは、そのテーブルのすべてのフィールドをGROUPBY句で指定する必要があることを意味します。

于 2012-08-12T10:19:17.840 に答える