我使用SQL Server 2012的做算术USING GROUPBY
我有以下数据,其中所述的产品A,B,C和d是BundleID 'ABCD' 的分量。我正在通过BundleID做一个团队的价格总和。这里的问题是,我希望它抛出一个错误,而不是在产品价格为0的情况下完成总和。有人可以在这里建议一个出路。
我们可以用一些虚拟值替换0的evrywhere,以便在执行总和时抛出错误吗?
BundleID Product Price
ABCD A 5
ABCD B 10
ABCD C 0
ABCD D 20
EFGH E 50
EFGH F 100
EFGH G 50
EFGH H 10
WITH BUNDLE_SUM AS (
select S.BundleID,
SUM(CONVERT(float,LV.VALUE_0)) AS BUNDLE_SUM
from PM_SCOPE S
JOIN PM_LOOKUP_VALUE LV ON LV.SCOPE_ID = S.SCOPE_ID
WHERE LD.LOOkUP_NAME = 'Bundle Details'
GROUP BY S.BundleID
)
谢谢。
为什么不只是排除那些'价格是0'? – Squirrel
为什么不给where子句添加其他条件,如WHERE AND LD.Price> 0? –
是LV.VALUE_0样本数据中定义的相同价格字段?什么是价格列的数据类型? –