2016-04-01 13 views
0

Lbs to gram'ı dönüştürmeye çalışıyorum. Lbs'de saklanan bir original_amount var ve bu değerlerin her birini gramlara dönüştürmek için 453.592 ile çarpmak istiyorum.Her bir sütunu bir sayı ile çarpıp her sütun için yeni değeri nasıl ayarlayabilirim?

Aşağıdaki sorgu, ilk seçimin değerini kaydeder ve her sütun için çalışmaz.

İlk olarak sütunu seçip çoğaltın, sonra güncelleştirin mi?

UPDATE inventory 
SET original_amount = subquery.new_amount 
FROM (SELECT original_amount * 453.592 as new_amount 
     FROM inventory) AS subquery 
where original_units iLike 'lbs'; 

cevap

6

sadece burada bir alt sorgu, gerek yok: Eğer original_units alanını güncellemek istiyorsanız

UPDATE inventory 
SET original_amount = original_amount * 453.592  
WHERE original_units iLike 'lbs'; 

, bunu yapabilirsiniz de bu sorguda: Ben

UPDATE inventory 
SET original_amount = original_amount * 453.592, 
    original_units='grams' 
WHERE original_units iLike 'lbs'; 
+0

'original_units' ile tahmin ediliyorsa 'original_amount' ile gider :) –

+0

oh evet ... teşekkürler. Karışıklığı gidermek için cevabı güncelleyeceğim. – JNevill

+0

Evet ... şimdi daha mantıklı. Teşekkürler @JoachimIsaksson – JNevill

İlgili konular