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

问题描述 投票:-1回答:1
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
sql sql-server
1个回答
3
投票

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

文档:SQL Server GROUP BY clause

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
© www.soinside.com 2019 - 2024. All rights reserved.