Başka bir tablodaki toplamı içeren bir tablonun basit bir güncelleştirmesi olacağını düşündüğüm şeyi deniyorum, ancak bazı nedenlerden dolayı yalnızca bir satırı güncelleştiriyor.Başka bir tablodan SUM ile güncelleştirme tablosu
oyunlar
gameplayer|points
----------------
John |5
Jim |3
John |3
Jim |4
playercareer
playercareername|playercareerpoints
-----------------------------------
John |0
Jim |0
Şimdi sonuçta, ben sonra böyle bakmak son tablo istiyorum: Burada tablolardan ilgili bilgiler böyle görünüyor güncelleştirmeyi çalıştırma:
player Bunun cevabını bulmak için görünmüyor olabilir
UPDATE playercareer
SET playercareer.playercareerpoints =
(
SELECT
SUM(games.points)
FROM games
WHERE
playercareer.playercareername=games.gameplayer
)
: kariyer
playercareername|playercareerpoints
-----------------------------------
John |8
Jim |7
Bu sadece ilk sırayı güncelleyen teşebbüs sorgusu olur. Zaman ve tavsiye için şimdiden teşekkür ederiz!
SQL Server kullanıyor musunuz? –
Üzgünüm, MySQL 5.5.16 kullanıyorum. – BigJay
Kodunuzu SQL Server ile test ettim ve iyi çalışıyor (http://sqlfiddle.com/#!3/97125/2). Belki de oyuncu isimlerini doğrulamalısınız (belki birinin beyaz bir alanı vardır ve maç yapamazsınız). Sonuç olarak, Adlar yerine kimlikler kullanmanız ve ilişkisel bir tablo kullanmanız önerilir. –