2017-07-14 10 views
0

私は次の表を持っており、sqlite3を使ってそれを変換したいと思っています。SQL:アルファベットに基づいて列を他の値に置き換える方法は?

私はテーブルから行きたいと思います:

A B  C   E F G .. X 
1 1234 1:1234_A_B A B ..  
1 42332 1:42332_A_B B A ..  
2 50443 2:50443_A_B A B ..  
2 4532 2:4532_D_F F D ..  
3 5000 3:5000_A_B B A ..  
3 3333 3:3333_A_B B A .. 

だから、列Cコーラでなければなりません:このテーブルに

A B  C E F G .. X 
1 1234 id1 A B ..  
1 42332 id2 B A ..  
2 50443 id3 A B ..  
2 4532 id4 F D .. 
3 5000 id5 B A ..  
3 3333 id6 B A ..  

(アルファベットに応じて、EまたはF)colB_col _col( EまたはF、アルファベットによります)

+1

なぜあなたはそれをしたいですか?すべての情報はすでにあなたのテーブルに入っています。複数の値を1つの列に格納することは、悪い設計です。 – HoneyBadger

答えて

1

あなたがそれを更新したい理由はわかりませんが、以下はあなたに役立ちます。

select A,B,A || ':' || B || '_' || 
case 
    when E < F 
    then 
     E || '_' || F 
    else 
     F || '_' || E 
    end 
... -- rest of the fields 
from table_name 

上記のクエリの一部を使用して、必要に応じてアップデートstatementを作成できます。あなたのテーブル構造のプライマリキー/ユニークキーが何であるかわからないので、そこにお手伝いできません。

+0

このUPDATEにキーは必要ありません。 –

関連する問題