Merhaba mürit ve müridelerim. Elimde şu şekilde bir şema yapısı var -- borrowed from https://stackoverflow.com/q/7745609/808921 CREATE TABLE IF NOT EXISTS `wallets` ( `wallet_id` int(6) unsigned NOT NULL, `wallet` int(3) unsigned NOT NULL, PRIMARY KEY ) DEFAULT CHARSET=utf8; INSERT INTO `wallets` VALUES ('1', '100'), ('2', '100'); CREATE TABLE IF NOT EXISTS `totals` ( `id` int(6) unsigned NOT NULL, `TotalID` int(6) unsigned NOT NULL, `wallet_id` int(6) unsigned NOT NULL, `total` int(3) unsigned NOT NULL, PRIMARY KEY ) DEFAULT CHARSET=utf8; INSERT INTO `totals` VALUES ('1', '19','1', '250'), ('2', '19','1', '750'); UPDATE wallets inner join totals on totals. wallet_id=wallets. wallet_id SET wallets. wallet=wallets. wallet+totals. total Where totals. TotalID=19 Bu durumda wallet_id 1 olan sütunun wallet değeri 1100 olması gerekirken 350 oluyor. Buradaki hata nedir? Normalde 1100 olması gerekiyor. Select sorgusu şu şekilde çünkü 2 satır değer dndürüyor. SELECT from wallets inner join totals on totals. wallet_id=wallets. wallet_id SQL FİDDLE : http://sqlfiddle.com/#!9/88436e/1/0 Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu nünden daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? yle ise, sakın yetime kahretme ! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!

one-to-many oldugu icin onun ustunden join yapip bir sey eslestirmeye calisirsan mysql keyfine kalmis. direk boyle yazmak yerine iceriden sum alip onu unique row ile match et. update wallets inner join ( select wallet_id, sum total_sum from totals where totals. TotalID = 19 group by wallet_id ) totals on totals. wallet_id = wallets. wallet_id set wallets. wallet = wallets. wallet + totals. total_sum;