2012-02-10 11 views
15

पर बदलें, मैं SQL सर्वर 2008 डेटाबेस में एक ही तालिका में कुछ डेटा कॉपी करना चाहता हूं और इसे उसी तालिका में बदलना चाहता हूं और बदल सकता हूं कॉपी किए गए डेटा के एक कॉलम में मान एक निर्दिष्ट संख्या में मान। यहाँ एक उदाहरण है, निम्न तालिका मीट्रिक बुलाया में, डेटा है:उसी तालिका से डेटा को कॉपी करें और कॉपी किए गए डेटा के मान को एक कॉलम में निर्दिष्ट मान

Key Name MetricValue 
112 Joe  34 
112 Fred  38 
112 Frank 12 
112 John  56 
112 David 87 
112 Sue  43 
234 Alli  34 
234 Susan 38 
234 Anne  12 
234 Franki 56 

मैं मीट्रिक करने के लिए 112 की एक प्रमुख के साथ उन सभी प्रविष्टियों को कॉपी और सभी की नकल की पंक्तियों 387 की कुंजी प्रदान करना चाहते हैं, इस देता है तालिका में मान मेट्रिक के रूप में:

Key Name MetricValue 
112 Joe  34 
112 Fred  38 
112 Frank 12 
112 John  56 
112 David 87 
112 Sue  43 
234 Alli  34 
234 Susan 38 
234 Anne  12 
234 Franki 56 
387 Joe  34 
387 Fred  38 
387 Frank 12 
387 John  56 
387 David 87 
387 Sue  43 

नोट, इस तालिका में एक प्राथमिक कुंजी भी है जिसे मैंने ऊपर नहीं दिखाया है।

मैं कैसे एसक्यूएल कि SQL सर्वर के साथ संगत 2008

मदद के लिए धन्यवाद है में यह कर सकते हैं,

टोनी

उत्तर

25

यहाँ आप कोशिश ..

INSERT INTO Metric(Key,Name,MetricValue) 
SELECT 387,Name,MetricValue 
FROM Metric 
WHERE Key = 112 
+1

बहुत खूब, सहायता के लिए धन्यवाद। मुझे पता था कि यह मामूली होने जा रहा था। मैं जल्द ही कोशिश करूँगा। – flyhai

+0

एक सभ्य अनुस्मारक: पहले चयनित भाग चलाएं (और सिंटैक्स आसानी से इसकी अनुमति देता है, एक अच्छी क्वेरी बेहतर बनाता है!) अन्यथा, समस्याएं उत्पन्न हो सकती हैं! – JosephDoggie

+0

@up और यदि आपके पास बहुत सारी प्रविष्टियां हैं तो अपने डीबी को मारने के लिए कुछ 'सीमा 5' का उपयोग करें :) –

संबंधित मुद्दे