2017-07-14 75 views
0

我有下面的表,並想使用sqlite3進行轉換,並不知道如何,希望有人可以幫助我。SQL:如何用基於字母表的其他值替換列?

我想從表中去:

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 ..  

此表:

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柱應該是可樂:colB_col(E或F,取決於字母)_col( E或F,這取決於字母表)

+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

此更新不需要密鑰。 –