0

我想将表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
4

2 回答 2

0

使用GREATEST().

假设它CL1不能为空,并且除非被填满,CL3否则不能有值。CL2

INSERT INTO table2(ID, CLX)
SELECT ID, GREATEST(CL1, COALESCE(CL2, CL1), COALESCE(CL3, CL1))
FROM table1
于 2013-05-31T06:37:21.043 回答
0

谢谢,

Coalesce 是我查询所需的功能。

`Select ID, COALESCE(CL3,CL2,CL1) as latest from table1`
于 2013-06-12T11:08:40.743 回答