2012-09-12 74 views
-1

我有類似AB的字段。該數據是這樣的:使用同一列中的其他值更新列值

+---+-----+ 
| A | B | 
+---+-----+ 
| 1 | 100 | 
| 1 | A | 
| 2 | 200 | 
| 2 | A | 
| 3 | 300 | 
| 3 | A | 
+---+-----+ 

現在我需要的輸出數據是:

+---+-----+ 
| A | B | 
+---+-----+ 
| 1 | 100 | 
| 1 | 100 | 
| 2 | 200 | 
| 2 | 200 | 
| 3 | 300 | 
| 3 | 200 | 
+---+-----+ 

我需要GP數據庫的SQL查詢。

+0

你使用的是什麼RDBMS? sql-server,mysql,oracle? – Taryn

+1

什麼數據庫?什麼是「GP數據庫」,爲什麼「100」而不是「A」?你想要的數字?或基於訂單(你缺乏)? –

回答

2

你可以用一個簡單的更新做到這一點,應該在任何數據庫工作:

update t 
    set B = (select max(B) from t2 where B <> 'A' and t2.A = t.A) 
    where B = 'A' 
+0

Thx很多:)它工作正常。 – user1666212

相關問題