将DocumentID从关闭移动到打开

时间:2014-10-09 13:24:26

标签: sql sql-server sql-server-2008

我在这张表中工作的表FD_Documents我们有很多专栏,但我只想专注于我需要的专栏。

DocTypeIDFile_Number

现在文档已打开或已完成,现在打开的文件ID为a372c985,最终文件ID为4614bc4e

现在我需要做的是,如果文件号在Finalized文档类型中有一个文件,那么所有打开的文件也必须更改为Finalized。

对于我的生活,我尝试了一些方法,但它只是不起作用。

以下示例。

DocTypeID,           file number
a372c985 (open)        14/21548
a372c985 (open)        14/21548
a372c985 (open)        14/21548
4614bc4e (Finalized)   14/21548

结果

DocTypeID,               file number
a372c985 (Finalized)        14/21548
a372c985 (Finalized)        14/21548
a372c985 (Finalized)        14/21548
4614bc4e (Finalized)        14/21548

1 个答案:

答案 0 :(得分:1)

试试这个!

UPDATE a
SET    a.docid = Replace(a.docid, 'open', 'finalized')
FROM   tab a
       JOIN tab b
         ON a.filenum = b.filenum
            AND b.docid LIKE '%finalized%' 

您的查询已更新

UPDATE a
SET    a.DocTypeID = '4614bc4e'
FROM   FD_Documents a
       JOIN FD_Documents b
         ON a.FD_0F273F09 = b.FD_0F273F09
            AND b.DocTypeID LIKE '%4614bc4e%' 

我认为你想要确切的'最终确定'在那里说。