मैं किसी अन्य तालिका से योग के साथ एक तालिका का एक साधारण अपडेट होने का प्रयास कर रहा हूं, लेकिन किसी कारण से, यह केवल एक पंक्ति को अपडेट कर रहा है।किसी अन्य तालिका से SUM के साथ अद्यतन तालिका
खेल
gameplayer|points
----------------
John |5
Jim |3
John |3
Jim |4
playercareer
playercareername|playercareerpoints
-----------------------------------
John |0
Jim |0
अब अंत में, मैं पिछले तालिका के बाद इस तरह दिखना चाहते हैं: यहाँ क्या तालिकाओं से प्रासंगिक जानकारी की तरह लग रही है अद्यतन चला रहा है:
प्लेयर
UPDATE playercareer
SET playercareer.playercareerpoints =
(
SELECT
SUM(games.points)
FROM games
WHERE
playercareer.playercareername=games.gameplayer
)
मैं इस प्रश्न का उत्तर मिल प्रतीत नहीं कर सकते हैं: कैरियर
playercareername|playercareerpoints
-----------------------------------
John |8
Jim |7
इस क्वेरी मैं कोशिश की है कि केवल पहली पंक्ति को अद्यतन करता है। आपके समय और सलाह के लिए अग्रिम धन्यवाद!
क्या आप SQL सर्वर का उपयोग कर रहे हैं? –
क्षमा करें, मैं MySQL 5.5.16 का उपयोग कर रहा हूं। – BigJay
मैंने SQL सर्वर के साथ अपने कोड का परीक्षण किया और यह ठीक काम करता है (http://sqlfiddle.com/#!3/97125/2)। शायद आपको अपने प्लेयर नामों को सत्यापित करना चाहिए (शायद एक में एक सफेद जगह हो और मैच नहीं बनाया जा सकता है)। आखिरकार, मैं सिफारिश करता हूं कि आप नामों के बजाय आईडी का उपयोग करें और एक रिलेशनल टेबल का उपयोग करें। –