如题。已知:表1名称:MyTable1
字段1:Filed1 PK, FK for MyTable2
字段2:Filed2
字段3:Filed3
表2名称:MyTable2
字段1:Filed1 PK
字段2:Filed2
字段3:Filed3如何写一条SQL语句,可以将MyTable1表的Filed1 FK与MyTable2表的相应Filed1 PK的每个记录,中,字段名为非PK的都累加起来,即:如何将MyTable1表的非PK字段的所有内容都累加起来。可能我上面说得不太好,看看我以下例示:已知上面的表1:MyTable1与表2:MyTable2的结构后,假如给两个表分别都有以下的数据:--------------------------
MyTable1:
--------------------------
PK FK
--------------------------
Filed1 Filed2 Filed3
--------------------------
1 1000 2000
--------------------------
2 3000 100
--------------------------
3 2000 2000
--------------------------
--------------------------
MyTable2:
--------------------------
PK FK
--------------------------
Filed1 Filed2 Filed3
--------------------------
1 500 200
--------------------------
2 300 800
--------------------------
3 9000 3000
--------------------------
已知上面的数据内容后,如后用SQL语句将表1相应的PK值的每个字段值与表2的每个相应的PK值的字段内容相加,然后将表1的数据清为0。结果应为以下所示:
--------------------------
MyTable1:
--------------------------
PK FK
--------------------------
Filed1 Filed2 Filed3
--------------------------
1 0 0
--------------------------
2 0 0
--------------------------
3 0 0
--------------------------
--------------------------
MyTable2:
--------------------------
PK FK
--------------------------
Filed1 Filed2 Filed3
--------------------------
1 1500 2200
--------------------------
2 3300 900
--------------------------
3 11000 5000
--------------------------
问题介绍完毕。请大哥们帮一下。如何用Access (AQL)去实现,或是SQL也行,不过我这里没有装SQL,不知道有没有SQL与ACCESS的一些语法兼容上的问题。

解决方案 »

  1.   

    update MyTable2 set Filed2 = t1.Filed2 , Filed3 = t1.Filed3 from MyTable2 t2 , MyTable1 t1 where t2.Filed1 = t1.Filed1
    update MyTable1 set Filed2 = 0 , Filed3 = 0
      

  2.   

    --先
    update 
      b
    set
      b.filed2=a.filed2+b.filed2,
      b.filed3=a.filed3+b.filed3
    from
      MyTable1 a,MyTable2 b
    where
      a.Filed1=b.Filed1--再
    update
       MyTable1 
    set
       filed2=0 and filed3=0
      

  3.   

    update 
      b
    set
      b.filed2=a.filed2+b.filed2,
      b.filed3=a.filed3+b.filed3
    from
      MyTable1 a,MyTable2 b
    where
      a.Filed1=b.Filed1--再
    update
       MyTable1 
    set
       filed2=0 , filed3=0
      

  4.   


    谢谢。我这个Access版好像没有像SQL一样的存储过程的东东。所以我只能用C#来直接调用.NET SQL类库的实例去执行,不知道可否一次性将来个Update 都写进去,可行不。
      

  5.   

    两个UPdate分别改两个表.一次不行不能直接改两个表.