SQL如何将数据从1个表复制到另一个表的特定行?

时间:2012-01-04 13:24:52

标签: sql sql-server

我想将CV列与varbinary表中的TBLPERSON信息一起复制到TBLPERSONREPRESENTATION表格中的CV列,其中行与PersonID具有相同的TBLPERSON。最好的方法是什么?

TBLPERSON

PersonID | Name   |  CV

1_ _ _ _ | Jo _ _ | **varbinary**
2_ _ _ _ | Cash _ | **varbinary**
3_ _ _ _ | Blade _| **varbinary**

TBLPERSONREPRESENTATION

PersonRepresentationID    | PersonID   | Name  | CV
1 _ _ _ _ _ _ _ _ _ _ _ _ | 1 _ _ _ _ _| Jo    | NULL
2 _ _ _ _ _ _ _ _ _ _ _ _ | 2 _ _ _ _ _| Cash  | NULL
3 _ _ _ _ _ _ _ _ _ _ _ _ | 3 _ _ _ _ _| Blade | NULL

所以要明确我要将varbinary复制到CV中的TBLPERSONREPRESENTATION列...

2 个答案:

答案 0 :(得分:5)

这应该有效:

UPDATE TBLPERSONREPRESENTATION
SET CV = P.CV
FROM TBLPERSON P INNER JOIN
     TBLPERSONREPRESENTATION R ON P.PersonID = R.PersonID
;

答案 1 :(得分:2)

update TBLPERSONREPRESENTATION pr
set CV = (select CV from TBLPERSON p where pr.PersonID = p.PersonID)