列“Buy.title”在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中

Roz*_*beh -1 sql sql-server

执行此 SQL 时出现错误:

列“Buy.title”在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中

查询语句:

IF(@sal IS NOT NULL AND @title IS NOT NULL)
BEGIN
    SELECT title,type1, SUM(tedat) 
    FROM Buy
    WHERE(@sal = YEAR(tarikh) AND @title = title)       
END
Run Code Online (Sandbox Code Playgroud)

Mar*_*lot 5

您必须按结果集中不在聚合函数内的列进行分组,因此它将对具有相同标题和类型的记录组应用聚合函数 (sum)。

文档:SQL Server GROUP BY 子句

IF(@sal IS NOT NULL AND @title IS NOT NULL)
BEGIN
    SELECT title,type1, SUM(tedat) 
    FROM Buy
    WHERE(@sal = YEAR(tarikh) AND @title = title)
    GROUP BY title, type1
END
Run Code Online (Sandbox Code Playgroud)