Sql 如何为此编写选择查询?

Sql 如何为此编写选择查询?,sql,sql-server,sql-server-2005,Sql,Sql Server,Sql Server 2005,我有列组成部分金额(货币),月(整数),年(整数)和组成部分类型(整数)。我想根据条件找出总金额。我已经这样写了我的查询,但它解决了我的目的 我的目的是,如果选择2010年11月,则该金额将累计到所选月份,包括2009年的所有月份 我的查询如下,请修改: SELECT SUM(Convert(Numeric(7,2), Round([COMPONENT_AMOUNT],2,1))) FROM [TEAM_FUNDS_DETAILS] WHERE YEAR_FOR <= 1 AND MO

我有列
组成部分金额(货币)
月(整数)
年(整数)
组成部分类型(整数)
。我想根据条件找出总金额。我已经这样写了我的查询,但它解决了我的目的

我的目的是,如果选择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  
选择总和(转换(数值(7,2),四舍五入([COMPONENT_AMOUNT],2,1)))
来自[团队资金详情]

如果每个查询只需要一个结果,我认为这就是代码

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)
          )
declare@year int
声明@month int
设置@year=2010——期望年
设置@month=8——期望月
选择总和(组成部分金额)
来自[团队资金详情]
哪里
[组件类型]=1
及(
年(<@年)

或者(year_for=@year and month_for如果每个查询只需要一个结果,我认为这就是代码

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)
          )
declare@year int
声明@month int
设置@year=2010——期望年
设置@month=8——期望月
选择总和(组成部分金额)
来自[团队资金详情]
哪里
[组件类型]=1
及(
年(<@年)

或(year_for=@year and month_for如何在year_中存储列的年数。例如,2009年和2010年的年数是多少?@Faisal Feroz:使用像2009 is=0和2010=1这样的索引,请添加标记。每个问题最多可以使用5个标记。请不要节俭。如何在year_中存储列的年数。例如,2009年和2010年的年数是多少010?@Faisal Feroz:使用像2009 is=0和2010=1这样的索引,请添加标签。每个问题最多可以使用5个标签。请不要吝啬。