2012-02-10 21 views
15

SQL Server 2008 veritabanındaki bazı verileri tek bir tabloda kopyalayıp aynı tabloya kopyalayıp değiştirmek istiyorum Kopyalanan verilerin bir sütunundaki değerler belirtilen tek bir sayıya. İşte bir örnek, Metrik denilen aşağıdaki tabloda, bir veridir:Verileri aynı tabloya ve aynı tabloya kopyalayın ve bir sütunda kopyalanan verilerin değerini belirtilen bir değere değiştirin

Ben Metrik Kapalı 112 bir anahtarla tüm bu girdileri kopyalamak ve tüm kopyalanan Satırlar 387 a Key atamak istediğiniz
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 

, bu verir tablodaki değerler aşağıdaki gibidir:

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 

Not: Bu tabloda ayrıca yukarıda göstermediğim birincil anahtar da vardır.

nasıl ..

Tony İşte

cevap

25

denemek, yardım için 2008.

sayesinde SQL Server ile uyumlu olan SQL yapabilirsiniz

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

Müthiş, yardım için teşekkürler. Önemsiz olacağını biliyordum. Yakında deneyeceğim. – flyhai

+0

nazik bir hatırlatma: önce seçkin parçayı çalıştırın (ve sözdizimi bunu daha iyi bir şekilde sorgulayarak daha iyi bir sorgu oluşturmanıza olanak sağlar!) Aksi halde sorunlar ortaya çıkabilir! – JosephDoggie

+0

@up, çok fazla girişiniz varsa DB'nizi öldürmemek için bazı 'limit 5'leri kullanın :) –

İlgili konular