SQL案例和当
在长查询中使用SUM时,我很难找出一个例子。以下是查询的当前相关部分-SQL案例和当,sql,sum,case,Sql,Sum,Case,在长查询中使用SUM时,我很难找出一个例子。以下是查询的当前相关部分- SELECT _various items_ SUM (nt.GALLONS) AS "2018 CCE gallons" FROM MQ_CDS_NETTRAN nt JOIN MQCCNSTORE s ON nt.COSTCENTER = s.COSTCENTER WHERE nt.CLRNTSYS = 'CCE' 我现在需要做的是 WHERE nt.CLRNTSYS IN ('CCE','BAC') 并将每加仑分
SELECT _various items_
SUM (nt.GALLONS) AS "2018 CCE gallons"
FROM MQ_CDS_NETTRAN nt
JOIN MQCCNSTORE s ON nt.COSTCENTER = s.COSTCENTER
WHERE nt.CLRNTSYS = 'CCE'
我现在需要做的是
WHERE nt.CLRNTSYS IN ('CCE','BAC')
并将每加仑分别汇总为“2018 CCE加仑”或“2018 BAC加仑”(CLRNTSYS下除“CCE”或“BAC”外,还有大约8个其他选项)。由于之前没有使用CASE,我还没有找到一个例子,可以根据另一列中的数据对另一列求和,并给它取另一个名称。这将如何工作?这应该使用
条件聚合来工作:
SELECT _various items_
SUM (CASE WHEN nt.CLRNTSYS = 'CCE' THEN nt.GALLONS END) AS "2018 CCE gallons",
SUM (CASE WHEN nt.CLRNTSYS = 'BAC' THEN nt.GALLONS END) AS "2018 BAC gallons"
FROM MQ_CDS_NETTRAN nt
JOIN MQCCNSTORE s ON nt.COSTCENTER = s.COSTCENTER
WHERE nt.CLRNTSYS IN ('CCE','BAC')
这应该使用条件聚合:
SELECT _various items_
SUM (CASE WHEN nt.CLRNTSYS = 'CCE' THEN nt.GALLONS END) AS "2018 CCE gallons",
SUM (CASE WHEN nt.CLRNTSYS = 'BAC' THEN nt.GALLONS END) AS "2018 BAC gallons"
FROM MQ_CDS_NETTRAN nt
JOIN MQCCNSTORE s ON nt.COSTCENTER = s.COSTCENTER
WHERE nt.CLRNTSYS IN ('CCE','BAC')
您可以尝试使用条件聚合函数
您可以尝试使用条件聚合函数
我不会删除where
标准,因为它可能返回不同的核心结果…有一个不同的where标准-我只是把它从我发布的内容中删除了,因为这是一个相当长的对startI的查询。我不会删除where
标准,因为它可能返回不同的核心结果…有一个不同的where标准-我只是把它从我发布的内容中删掉了,因为这是一个相当长的查询开始