SQL总和,返回字段不是零
问题描述:
我写了一个查询来获得三个字段的总和,除了大多数总和为零。我只需要返回大于零的总和。下面是查询SQL总和,返回字段不是零
SELECT [Product],
SUM([Pounds]) as SumPounds,
SUM([Dollars]) as SumDollars,
SUM([EBITDA]) as SumEBITDA
FROM MyTable
WHERE ([Year] = '2017' AND [Date] <= #8/20/2017#)
SORT BY [Product];
有没有办法只返回大于零的总和在Access?
答
SELECT [Product],
SUM([Pounds]) as SumPounds,
SUM([Dollars]) as SumDollars,
SUM([EBITDA]) as SumEBITDA
FROM MyTable
WHERE ([Year] = '2017' AND [Date] <= #8/20/2017#)
GROUP BY [Product]
HAVING SUM([Pounds]) + SUM([Dollars]) + SUM([EBITDA]) > 0
答
可以使用具有过滤器的聚合函数的结果
SELECT [Product],
SUM([Pounds]) as SumPounds,
SUM([Dollars]) as SumDollars,
SUM([EBITDA]) as SumEBITDA
FROM MyTable
WHERE ([Year] = '2017' AND [Date] <= #8/20/2017#)
HAVING UM([Pounds]) >0 AND SUM([Dollars]) > 0 AND SUM([EBITDA]) >0
SORT BY [Product];
,如果你需要的所有3值以上,如果你只需要一个,你可以使用或
可以使用并作为答案
或者'Sum([Pounds] + [Dollars] + [EBITDA])> 0'稍微更紧凑(假设没有NULL) – ErikE
Way better .... –
你是上帝,我不是。多谢! – jDave1984