私はこのようなことをしたい:
create table t1 (id varchar(20) NOT NULL default '', money decimal(20,4) NOT NULL default '0');
create table t2 (id varchar(20) NOT NULL default '', money decimal(20,4) NOT NULL default '0');
insert into t1 values('1',1);
insert into t2 values('1',2);
insert into t2 values('1',3);
同じIDのt2のお金をすべてt1に追加したいので、次のSQLを使用します。
update t1,t2 set t1.money = t1.money + t2.money where t1.id = t2.id
.
テーブル t1 の ID '1' のお金は
1 + 2 + 3 = 6
しかし実際には
1 + 2 = 3;
常にt2の最初の行を追加しているようです。
mysql> select * from t1;
+----+--------+
| id | money |
+----+--------+
| 1 | 3.0000 |
+----+--------+
の値を取得するにはどうすればよいですか
1 + 2 + 3
1つのSQLで。