Sql 很好,如果在我得到-250后手动计算所有负值,但如果我尝试你的secound查询,它仍然会减去-500。我要把Nutsry转换成整数,就像编辑过的答案@RekeUnhs一样 SELECT Sum(CASE WHEN c_calcType = 'calcCo
Sql 很好,如果在我得到-250后手动计算所有负值,但如果我尝试你的secound查询,它仍然会减去-500。我要把Nutsry转换成整数,就像编辑过的答案@RekeUnhs一样 SELECT Sum(CASE WHEN c_calcType = 'calcCo,sql,sql-server,sum,case,Sql,Sql Server,Sum,Case,很好,如果在我得到-250后手动计算所有负值,但如果我尝试你的secound查询,它仍然会减去-500。我要把Nutsry转换成整数,就像编辑过的答案@RekeUnhs一样 SELECT Sum(CASE WHEN c_calcType = 'calcCorrection' THEN (c_calcValue * -1) ELSE c_calcValue END) as c_calcValue, c_parentID FROM DB_Calc WHE
很好,如果在我得到-250后手动计算所有负值,但如果我尝试你的secound查询,它仍然会减去-500。我要把Nutsry转换成整数,就像编辑过的答案@RekeUnhs一样
SELECT Sum(CASE WHEN c_calcType = 'calcCorrection' THEN (c_calcValue * -1)
ELSE c_calcValue END) as c_calcValue,
c_parentID
FROM DB_Calc
WHERE c_parentID is not null AND c_state <> 'deactiveted'
GROUP BY c_parentID
SELECT (CASE
WHEN c_calcType = 'calcCorrection' THEN (CONVERT(c_calcValue, INT) * -1)
ELSE CONVERT(c_calcValue, INT)
END)
AS c_calcValue,
c_parentID
FROM DB_Calc
WHERE c_parentID IS NOT NULL AND c_state <> 'deactiveted'
SELECT SUM (cValTable.c_calcValue), cValTable.c_parentID
FROM (SELECT (CASE
WHEN c_calcType = 'calcCorrection' THEN (CONVERT(c_calcValue, INT)* -1)
ELSE CONVERT(c_calcValue, INT)
END)
AS c_calcValue,
c_parentID
FROM DB_Calc
WHERE c_parentID IS NOT NULL AND c_state <> 'deactiveted') cValTable
GROUP BY cValTable.c_parentID
SELECT Sum(CASE WHEN c_calcType = 'calcCorrection' THEN (c_calcValue * -1)
ELSE c_calcValue END) as c_calcValue
FROM DB_Calc
c_calcValue
750
SELECT sum(c_calcValue),c_parentID FROM DBCalc WHERE r_Rechnungstyp <> 'calcCorrection' AND c_state <> 'deactiveted' GROUP BY c_parentID UNION ALL SELECT sum(-c_calcValue),c_parentID FROM DBCalc WHERE r_Rechnungstyp = 'calcCorrection' AND c_state <> 'deactiveted' GROUP BY c_parentID