SQL同一个表的某字段值相加赋值给另一个字段

有一个表,A2,例如,
字段有D011,D019,tablrela
10 1
12 1
1 2
2 3
3 3
我想用个命令可以根据相同的tablrela的值将sum(D019)赋值到D011上
结果是D011,D019,tablrela
22 10 1
22 12 1
1 1 2
5 2 3
5 3 3
我要的语句是在同一个表里,这个我自己写的update a2 set d011=(select sum(d019) from a2 where tablrela=tablrela)
不知道哪里错了,请别写成先用SELECT * into 去新建个副表,我这里有权限控制,只能在同一个表里完成

第1个回答  2011-08-19
方法1:
我的是insert into 但不是别的表!
Insert Into A2
Select t.TABLRELA,t.D019,Sum(t.D019)Over(Partition By t.TABLRELA) From A2 t ;
Commit;
Delete A2 t Where Rowid Not In (Select Max(Rowid) From A2 y Where t.TABLRELA=y.TABLRELA And t.D019=y.D019);
Commit;
方法2:
update A2 s set s.D011 =(Select u.D011 From (Select t.TABLRELA,t.D019,Sum(t.D019)Over(Partition By t.TABLRELA) D011 From A2 t) u Where s.TABLRELA=u.TABLRELA And s.D019=u.D019);
Commit;本回答被提问者和网友采纳
第2个回答  2011-08-19
UPDATE A2 SET D019=B.D019
FROM A2 A,(SELECT SUM(D019),tablrela from A2 GROUP BY D019,tablrela) B
WHERE A.tablrela=B.tablrela
第3个回答  2011-08-19
update a2 set d011=c.a
from (select sum(d019) as a,tablrela from a2 group by tablrela) c on c.tablrela=a2.tablrela
第4个回答  2011-08-19
update as set d011=c.a
from (select sum(d019) as a from a2 a, a2 b where a.tablrela=b.tablrela)
第5个回答  2011-08-19
试试这个
update a2 A set A.d011=(select sum(d019) from a2 B group by tablrela) where A.tablrela=B.tablrela

SQL同一个表的某字段值相加赋值给另一个字段
我的是insert into 但不是别的表!Insert Into A2 Select t.TABLRELA,t.D019,Sum(t.D019)Over(Partition By t.TABLRELA) From A2 t ;Commit;Delete A2 t Where Rowid Not In (Select Max(Rowid) From A2 y Where t.TABLRELA=y.TABLRELA And t.D019=y.D019);Commit;方法2:update A2...

SQL语句中,把一个表的关键字段值赋给另一个表的那句话怎么写?_百度知 ...
conn.execute sql现在需要取得tit表里的t_id字段的值出来,立刻写到qst表里去 set N=select identity (第1个赋值语句)'N=select identity (第2个赋值语句)sql="insert into qst(q_id)values (n)"conn.execute sql用两种赋值语句都不能写进去,而且还出错错误类型:Microsoft VBScript 编译器错误...

如何使用SQL将一个表中的内容赋值到另一个表的字段中
A和B为表,a,c为字段,格式你再调下

sql怎么将一张表的字段赋值给另一张表
插入数据insert into TbYTZ(UserID) select UserID from TbUser更新数据则在TbUser和TbYTZ两个表要有一个关系。如TbUser.a1=TbYTZ.a2UPDATE TbYTZ SET TbYTZ.UserID = (SELECT UserID FROM TbUser WHERE TbUser.a1=TbYTZ.a2)结构化查询语言(英文简称:SQL)是一种特殊目的的编程语言,是一种...

VB SQL 如何将一个表中的一条记录赋值给另一张表的各字段
将Datagrid链接到表A为数据源。判断Datagrid选择的行,并读取各个列的数值。采用Insert语句将各个值插入到B表,两者的列要一致。

sql怎么将一张表的字段赋值给另一张表
update 表1 set 表1.字段1=表2.字段11,表1.字段2=表2.字段22 ... ... ... ...from 表1.关联字段=表2.关联字段 where 赋值条件

...把同一个表里的同一个字段的一条记录的值赋给另一条记录?
所以,答案可以这样写:把TABLENAME表的第9条记录的FIELDNAME1字段赋值给第十条记录的字段FIELDNAME1:UPDATE TABLENAME SET FIELDNAME1=(SELECT FIELDNAME1 FROM TABLENAME WHERE RECNO()=9) WHERE RECNO()=10 如果是SQL SERVER,则表必须要有主键,比如主键为ID:UPDATE TABLENAME SET FIELDNAME1=(...

如何将一个从表中的字段值批量赋值给一个主表,求SQL语句
select a.id,(nvl(a.AMOUNT,0)-nvl(b.REV,0)) Result from a,(select b.id,sum(b.REV) REV from b group by b.id) b where a.id=b.id(+);如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!vaela

sql:怎么将表的某一列数据赋值给另一表的对应列
update table1 set 站号=(select 站号 from table2 where table2.column=table1.column)

如何用SQL语句把一个表值赋值到另外一个表中
--Sql server update b set b.c=a.c from a,b where a.a=b.b --Oracle update B set c = (select c from A where A.a = B.b and rownum=1)--rownum=1有多条纪录取第一条,否则有重复纪录(a.a=b.b>1)会报错

相似回答