我想将表1中的最新信息复制到表2中。
我使用的ID

插入到Table2(ID)中(从Table2中选择ID)。那不是问题。
CL1包含最早的数据。
CL3包含最新数据。所以CL2介于两者之间。

插入可能是将ID从Table1复制到Table2的最简单方法

我的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

最佳答案

使用GREATEST()

假定CL1不可为空,并且CL3不能具有值,除非CL2被填充。

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



SQLFiddle Demo

关于mysql - MySQL将列值从几列复制到一列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16851114/

10-11 02:44
查看更多