要使用联接更新的TSQL Convert select语句

要使用联接更新的TSQL Convert select语句,select,join,Select,Join,我有以下select语句: SELECT projectid,documentid,revisionno,configurationid,variable45, ISNULL(Variable45, (SELECT TOP 1 variable45 FROM pivot_table WHERE documentid = t.documentid and projectid=t.projectid and configurationid=t.configurati

我有以下select语句:

SELECT  projectid,documentid,revisionno,configurationid,variable45,
        ISNULL(Variable45, (SELECT TOP 1 variable45 FROM pivot_table WHERE documentid = t.documentid and projectid=t.projectid
        and configurationid=t.configurationid and cast(revisionno as int) < cast(t.revisionno as int) AND Variable45 is NOT NULL 
        ORDER BY projectid desc,documentid desc ,revisionno desc,configurationid desc)) as NewCol
FROM    pivot_table t;
我试着用下面的方法转换到一个更新文档,但是我得到了错误的更新记录。有人能帮我解决我的问题吗

UPdate PIVOT_TABLE
set variable45 = ((SELECT TOP 1 variable45 FROM pivot_table t WHERE t.documentid = documentid and t.projectid=projectid
        and t.configurationid=configurationid and cast(t.revisionno as int) < cast(revisionno as int) AND Variable45 is NOT NULL 
        ORDER BY revisionno desc)) where Variable45 is NULL;
DB:SQLExpress2008

请告知。谢谢。

好的,我想起来了:

    UPdate pt
    set pt.variable45 = ((SELECT TOP 1 t.variable45 FROM pivot_table t WHERE 
t.documentid = pt.documentid and t.projectid=pt.projectid and t.configurationid=pt.configurationid and cast(t.revisionno as int) < cast(pt.revisionno as int) AND t.variable45 is NOT NULL 
            ORDER BY revisionno desc)) from PIVOT_TABLE pt where pt.variable45 is NULL;