SQL Server根据ID复制内容

时间:2013-04-10 20:18:48

标签: sql sql-server

在我的数据库中,我有3行用于3个不同的实体,我想根据ID值将一个实体的内容镜像到另外两个实体。我不知道更新声明是否合适。

CoId  DocumentType  StatusId  StatusDescription  Default  Text  Progression  Environment  RequiredOnAssign  TS  DocumentFilterGroup

这些是我的列标题,CoId可以包含三个值中的一个,1,2或3.我希望根据状态ID将1的内容复制为2和3。我比这更难以表达。

1 个答案:

答案 0 :(得分:1)

如果我理解正确,那么自我加入是你最好的朋友:

UPDATE t1
SET DocumentType = t1.DocumentType, StatusDescription = t1.StatusDescription, Default = t1.Default -- the same for the rest of the fields
FROM table t1 
INNER JOIN table t2 
ON t1.CoID in (2,3) and t2.CoID = 1
WHERE StatusID = ...