我正在使用 SQL Server 2008 R2,我有以下表格:
client(id,country,name)
和temp(id,country)
,它们彼此之间不相关。我想知道如何将 temp.id 值设置为 client.id,并且与国家相同。是否带有更新语句?我一直在查看其他网站,我只是找到了相关表格的解决方案,但这不是我的情况。
问问题
699 次
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
也许您想以一种方式同步两个表:
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 回答