0

表1の最新情報を表2にコピーしたい。使用したIDについて

Table2(ID) に挿入します (Table2 から ID を選択します)。それは問題ではありませんでした。CL1 には最も古いデータが含まれます。CL3 には最新のデータが含まれています。だからCL2は中間です。

Insert into は、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それはnull可能ではなく、満たされ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 に答える