如果一列符合要求,我目前正在寻求对一列求和。
在这种情况下,如果[状态]="已接受"货件,我想对[重量]的总和求和。我到处找过,没有多大进展。这是我尝试过的一个例子:
CASE WHEN [Status: Accepted, Pending, Rejected] = 'ACCEPTED'
THEN SUM(([Weight (lbs)])) END ) AS ACCEPT_WEIGHT
case
是sum()
的参数,如下所示:
SUM(CASE WHEN [Status: Accepted, Pending, Rejected] = 'ACCEPTED' THEN [Weight (lbs)]
END) AS ACCEPT_WEIGHT
如果要确保该值永远不会NULL
,请使用ELSE
子句:
SUM(CASE WHEN [Status: Accepted, Pending, Rejected] = 'ACCEPTED' THEN [Weight (lbs)]
ELSE 0
END) AS ACCEPT_WEIGHT
你需要 sum(( 超出案例条件,例如:
sum( CASE WHEN [Status: Accepted, Pending, Rejected] = 'ACCEPTED'
THEN [Weight (lbs)] ELSE 0 END ) AS ACCEPT_WEIGHT
可能是这样的:
SELECT SUM(CASE WHEN T.[Status] = 'ACCEPTED' THEN T.[Weight (lbs)] ELSE 0 END ) AS ACCEPT_WEIGHT FROM YOURTABLE AS T
希望这有帮助!