MySQL将列值从几列复制到一列

时间:2013-05-31 06:35:44

标签: mysql copy mysql-workbench

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

插入表2(ID)(从表2中选择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

2 个答案:

答案 0 :(得分:0)

使用GREATEST()

假设CL1不可为空,CL3除非CL2已填满,否则无法获得价值。

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

答案 1 :(得分:0)

谢谢,

Coalesce是我查询所需的功能。

`Select ID, COALESCE(CL3,CL2,CL1) as latest from table1`
相关问题