2014-01-21 2 views
0

SQL 테이블에 약 5000 개의 행이 있습니다. 두 개의 열에 'name1'과 'name2'가 있습니다. 그리고 지금, 까다로운 부분. 나는 'name1'의 데이터를 'name2'에 넣고 'name2'의 데이터는 'name1'에 있어야합니다 ... 나는이 작업을 위해 여분의 열을 만들 수 있다는 것을 알고 있지만 더 나은 느낌을 가지고 있습니다. 그것을하는 더 빠른 방법. 특정 부분 (약 50 %)에 대해서는 'WHERE type ='p '';-)에 대한 모든 행에서 사용할 수없는 중요한 부분데이터 전치, SQL

+0

내 대답을 삭제했습니다 ... – Vadim

+0

죄송합니다. 먼저이 부분에 대해 잊어 버렸습니다. ;-)하지만 당신의 대답은 어리석은 짓은 아니 었습니다. 난 그냥 열 이름과 나중에 데이터를 두 번째로 넣어 (이 행에 대한 두 번째 열에 영향을 미치고 싶지 않았어 그래서 내가 그것을 할 수 있었다) 변경되었습니다. 비록 내가 여전히 intereseting SQL에서 두 가지 컬럼에서 '교환'데이터와 같은 것을 만들 수있는 어떤 방법이있다 ;-) –

+0

이 하나에 봐. http://stackoverflow.com/questions/37649/swapping-column-values-in-mysql –

답변

1

조건부로 열의 이름을 바꿀 때 사용 사례 :

SELECT 
    CASE WHEN t.type = 'p' THEN t.name2 ELSE t.name1 END as name1, 
    CASE WHEN t.type = 'p' THEN t.name1 ELSE t.name2 END as name2, 
    t.type 
FROM (your original select) t;