这样吧,把第一个月的“本月到位资金”去掉,sql累计语句应该怎么写呢?

解决方案 »

  1.   

    把第一个表的“本月到位资金”字段去掉,sql累计语句应该怎样写呢?
      

  2.   

    update table set 累计到位资金=(select AA.累计 from 
    (select 项目代码,sum(本月到位资金) as 累计 from table2 group by 项目代码)AA
    where 项目代码=aa.项目代码
      

  3.   

    好吧,那就把第一个表的“本年到位资金”字段也去掉,只计算累计到位资金,sql累计语句应该怎样写呢?
      

  4.   

    出现错误:(
    奇怪,我这里的sqlserver和access都不能接受
    select * from (select * from table1)
    这样的语句,是什么原因呢?
      

  5.   

    select * from (select * from table1)as AAor 
    select * from (select * from table1)AA
      

  6.   

    我在sqlserver中试了好一会,这种累计方法总出现错误:
    "前缀 'AA' 与查询中所用的表名或别名不匹配。"
    是什么原因呢??
      

  7.   

    我是指你上面写的语句出错:
    update table set 累计到位资金=(select AA.累计 from 
    (select 项目代码,sum(本月到位资金) as 累计 from table2 group by 项目代码)AA
    where 项目代码=aa.项目代码
      

  8.   

    (select 项目代码,sum(本月到位资金) as 累计 from table2 group by 项目代码)AA后面的AA,你有没有改,如果改了,把AA.  也改一下。
      

  9.   

    update table set 累计到位资金=AA.累计 from table left join (select 项目代码,sum(本月到位资金) as 累计 from table2 group by 项目代码)AA
    on table.项目代码=aa.项目代码
      

  10.   

    谢谢!
    这个join语句在sqlserver中调试通过了!
    不过在access中没通过,在access中应该怎么写呢?
      

  11.   

    update 项目表,
       (SELECT 月进度表.项目代码 AS F_ID,
           SUM(月进度表.本月到位资金) as F_month_sum
        FROM 月进度表,
         (select 月进度表.项目代码,
               max(月进度表.填报月) as F_DATE
             from 月进度表 
             group by 月进度表.项目代码) as T_AA
        where t_AA.F_DATE=月进度表.填报月) as T_Month,    (SELECT 月进度表.项目代码 AS F_ID,
           SUM(月进度表.本月到位资金) as F_year_sum
        FROM 月进度表,
         (select 月进度表.项目代码,
               max(月进度表.填报月) as F_DATE
             from 月进度表 
             group by 月进度表.项目代码) as T_BB
        where year(t_BB.F_DATE)=year(月进度表.填报月)) as T_year,    (SELECT 月进度表.项目代码,
              SUM(月进度表.本月到位资金) as F_sum
         FROM 月进度表
         group by 月进度表.项目代码) as T_sum  set 项目表.本月到位资金 = T_Month.F_month_sum,
    项目表.本年到位资金 = F_year_sum.F_DATE,
            项目表.累计到位资金 = T_sum.F_sumwhere (项目表.项目代码 = T_Month.F_ID) and
          (项目表.项目代码 = F_year_sum.F_ID) and
          (项目表.项目代码 = T_sum.F_ID)
    试试,没有测试过
      

  12.   

    可能运行数度很慢,可以把
            (select 月进度表.项目代码,
               max(月进度表.填报月) as F_DATE
             from 月进度表 
             group by 月进度表.项目代码 ) AS T_BB
    表生成一表,在更新数据可能快些
      

  13.   

    update 项目表
         set 项目表.本月到位资金 = T_Month.F_month_sum,
    项目表.本年到位资金 = F_year_sum.F_DATE,
            项目表.累计到位资金 = T_sum.F_sum
        from 项目表,(SELECT 月进度表.项目代码 AS F_ID,
           SUM(月进度表.本月到位资金) as F_month_sum
        FROM 月进度表,
         (select 月进度表.项目代码,
               max(月进度表.填报月) as F_DATE
             from 月进度表 
             group by 月进度表.项目代码) as T_AA
        where t_AA.F_DATE=月进度表.填报月) as T_Month,    (SELECT 月进度表.项目代码 AS F_ID,
           SUM(月进度表.本月到位资金) as F_year_sum
        FROM 月进度表,
         (select 月进度表.项目代码,
               max(月进度表.填报月) as F_DATE
             from 月进度表 
             group by 月进度表.项目代码) as T_BB
        where year(t_BB.F_DATE)=year(月进度表.填报月)) as T_year,    (SELECT 月进度表.项目代码,
              SUM(月进度表.本月到位资金) as F_sum
         FROM 月进度表
         group by 月进度表.项目代码) as T_sum
    where (项目表.项目代码 = T_Month.F_ID) and
          (项目表.项目代码 = F_year_sum.F_ID) and
          (项目表.项目代码 = T_sum.F_ID)
    在试试