Q:

TSQL Multi-Part Identifier Could Not Be Found

We are attempting to update the LastUpdateDateTime column to the value of the Stamp column in another database, on another server via this query:
update [NEWTON-DB].NEWTON.dbo.vital_signs 
set lastupdatedatetime = 
    coalesce ((select top 1 stamp 
               from [SERVER2].NEWTON.dbo.vital_sign 
               where rowguid in (select oldrowguid 
                                 from [NEWTON-DB].NEWTON.dbo.import_log 
                                 where tablename = 'vital_sign' 
                                   and newid = [NEWTON-DB].NEWTON.dbo.vital_signs.id)), 
              coalesce(lastupdatedatetime, getutcdate()))

The import_log table is simply the inner join to fetch the new id based off the old rowguid if that makes any sense. 
When they were on the same server this query worked fine, but after migrating I get the following error: 

The multi-part identifier "NEWTON-DB.NEWTON.dbo.vital_signs.id" could not be bound. 

Is there something blindingly obvious we're missing.  Thanks so much in advance! 

A:

5 Part identifers like this [NEWTON-DB].NEWTON.dbo.vital_signs.id don't work
You need to alias the table and then use the alias
e.g.
Select top 1 stamp 
from [SERVER2].NEWTON.dbo.vital_sign t
where rowguid in (select oldrowguid 
                    from [NEWTON-DB].NEWTON.dbo.import_log 
                    where tablename = 'vital_sign' 
                    and newid = t.id)

