2013-05-31 61 views
0

我想從表1的最新信息複製到表2. 因爲我使用MySQL的複製列值一列

插入到表2(ID)的ID(選擇ID FROM表2)。這不是問題。 CL1包含最舊的數據。 CL3包含最新的數據。所以CL2介於兩者之間。

插入可能是從表1的ID複製到表2

我與MySQL的問題是下面的最簡單的方法。

表1

ID | CL1 | CL2 | CL3 
    A | 1 | 2 | 3 
    B | 1 | 2 | NULL 
    C | 1 | 2 | 3 
    D | 1 | NULL| NULL 
    E | 1 | 2 | 3 


    Table 2 
    ID | CLX 
    A | 
    B | 
    C | 
    D | 
    E | 

結果應該是:

Table 2 
    ID | CLX 
    A | 3 
    B | 2 
    C | 3 
    D | 1 
    E | 3 

回答

0

使用GREATEST()

假設CL1不是可以爲空,並且CL3不能有價值,除非CL2被填滿。

INSERT INTO table2(ID, CLX) 
SELECT ID, GREATEST(CL1, COALESCE(CL2, CL1), COALESCE(CL3, CL1)) 
FROM table1 
0

謝謝

合併爲我需要爲我的查詢功能。

`Select ID, COALESCE(CL3,CL2,CL1) as latest from table1`