我有专栏COMPONENT_AMOUNT(money)
,MONTH_FOR(int)
,YEAR_FOR(int)
和COMPONENT_TYPE(int)
。我想根据条件找到金额的总和。我写了这样的查询,但它解决了我的目的。
我的目的是,如果一个选择2010年11月,那么它将总计到这个选定月份的金额,包括2009年的所有月份。
我的查询如下,请修改:
SELECT SUM(Convert(Numeric(7,2), Round([COMPONENT_AMOUNT],2,1)))
FROM [TEAM_FUNDS_DETAILS]
WHERE YEAR_FOR <= 1 AND MONTH_FOR <= 1 AND [COMPONENT_TYPE] = 1
答案 0 :(得分:4)
如果每个查询只需要一个结果,我认为这是代码
declare @year int
declare @month int
set @year = 2010 --desire year
set @month = 8 --desire month
select sum(COMPONENT_AMOUNT)
from [TEAM_FUNDS_DETAILS]
WHERE
[COMPONENT_TYPE] = 1
and (
YEAR_FOR < @year
or (year_for=@year and month_for<=@month)
)