有A,B两个表,相同字段是service_id,查询A表,并插入b表中的字段,请问如何写语句

2025-02-27 19:58:50
推荐回答(3个)
回答1:

SQL Server 处理起来还比较省事

update a
set a.绩效= b.绩效, a.考勤= b.考勤, a.其他字段= b.其他字段
from a,b
where a.service_id = b.service_id

你只需要跟着,把另外那6个字段,跟在 绩效 的后面。 就可以了。

如果你还要求 查询a时,如果 发现某些数据, a表没有, b表有,需要向a表插入数据的话。
那么就有点麻烦了,需要你的数据库是 SQL Server 2008。
使用 MERGE 语句来实现。

MERGE 语句例子如下:
http://hi.baidu.com/wangzhiqing999/blog/item/36db5b17cf5fd02cdd5401ee.html

回答2:

UPDATE A SET a.绩效 = (SELECT b.绩效 FROM B WHERE service_id = A.service_id)

做update操作是很麻烦的事情,不同数据库还有可能不一样呢

回答3:

oracle多个字段更新
UPDATE A SET (a.绩效,a.f1) = (SELECT b.绩效,b.f1 FROM B WHERE service_id = A.service_id)