私は SQL Server 2008 R2 を使用しています。次のテーブルがあります:
client(id,country,name)
とtemp(id,country)
、およびそれらは互いに無関係です。temp.id 値を client.id に設定する方法を知りたいです。国と同じです。更新文とは?私は他の Web サイトを見ていて、関連するテーブルの解決策を見つけましたが、それは私の場合ではありません。
3 に答える
0
SET で考える必要がある場合は、手続き的に考えています。
SELECT を使用してデータを取得する
WHERE を使用してスペインからのクライアントのみを選択
する 列の定数値を
使用して取得の一部としてデータを変更する 取得したデータを使用してテーブルに挿入する
INSERT INTO client
SELECT id+10 as id, 'Germany' as country
FROM client
WHERE country = 'Spain'
もちろん、これが SELECT、WHERE、UPDATE などを学習する必要がある演習である場合は、手順を踏むことになります。
于 2013-05-16T22:20:11.027 に答える
0
おそらく、両方のテーブルを 1 つの方法で同期する必要があります。
UPDATE t SET t.id=c.id, t.country=c.countryname
FROM client c INNER JOIN temp t ON t.id = c.id
INSERT INTO temp(id,country)
SELECT c.id, c.countryname
FROM client c
WHERE NOT EXISTS(SELECT 1 FROM temp t
WHERE t.id=c.id)
于 2013-05-16T22:20:43.513 に答える