-1

私は2つのテーブルを持っています。それらをマージしたいのですが、テーブル1にリストされているIDで始まるテーブル2からエントリを削除します。

id | name
---------
1  | test
2  | test2
3  | test3

id  | name
----------
122 | tester
222 | tester2
555 | testr3

私がしたい:

id | name
---------
1  | test
2  | test2
3  | test3
555 | testr3
4

1 に答える 1

0

ここには 2 つのステートメントが必要です。

まず、からレコードを削除しますtable2

DELETE  
FROM    table2 a
WHERE   EXISTS
        (
            SELECT  1
            FROM    table2 b
            WHERE   b.id LIKE CONCAT(a.ID, '%')
        )

次に、すべてのレコードをコピーしtable1ますtable2

INSERT INTO table2(id, name)
SELECT  id, name
FROM    table1
于 2013-08-17T18:40:26.117 に答える