2012-09-12 5 views
-1

AB과 같은 필드가 있습니다. 내가 GP 데이터베이스의 SQL 쿼리를 필요동일한 열의 다른 값으로 열 값을 업데이트하십시오.

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

:

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

지금 내가 출력 데이터가 필요합니다 같은 데이터입니다입니다. 당신은 간단한 업데이트하여이 작업을 수행 할 수 있습니다

+0

? sql-server, mysql, oracle? – Taryn

+1

어떤 데이터베이스입니까? 왜 "GP 데이터베이스", 왜 "100"대신 "A"? 너 번호를 원해? 또는 (당신이 부족한) 주문을 기반으로합니까? –

답변

2

, 그 모든 데이터베이스에서 작동합니다 :

사용하고있는 RDBMS
update t 
    set B = (select max(B) from t2 where B <> 'A' and t2.A = t.A) 
    where B = 'A' 
+0

Thx alot :) 잘 작동합니다. – user1666212

관련 문제