0

私は手元にタスクがありますが、これは明らかに私のmysqlスキルを超えています:)しかし、私は学んでいます...

私は2つのテーブルを持っています。

1. import
2. users

import には id、user_id、user_email などの列の割り当てが含まれます ... users には user_id と user_email が含まれます

ユーザーのコンテンツを移行してインポートする必要があります。具体的には、インポートに user_id がありません。ただし、user_email が含まれています。

したがって、2 つのテーブルから user_email を照合し、一致した user_id でインポート テーブルを更新するステートメントを考える必要があります。

これまでのところ、私はこれを持っています:

SELECT u.user_id, u.user_email, i.user_email FROM users u, import i WHERE i.user_email = u.user_email;
4

3 に答える 3

3

import基本的に、テーブルを と結合することでテーブルを直接更新できますuser

これは にありMySQLます。

UPDATE `import` a
        INNER JOIN users b
            ON a.user_email = b.user_email 
SET     a.user_id  = b.user_id 

為にSQL Server

UPDATE  a
SET     a.user_id  = b.user_id 
FROM    [import] a
        INNER JOIN users b
            ON a.user_email = b.user_email
于 2013-04-04T12:25:07.130 に答える
0

アドレスに応じてユーザーを一致させたい場合は、それらが一意であることを確認してから、次のように結合できます。

UPDATE import
        SET import.user_id = users.user_id
    FROM import
    INNER JOIN users ON import.user_email = users.user_email
于 2013-04-04T12:28:43.180 に答える