I have a query that is part of a bigger process, and runs against a linked server.
The code is like this:
DELETE FROM [LinkServerIP].[Database].[dbo].[TableName]
WHERE NOT EXISTS (
SELECT *
FROM [LinkServerIP].[Database].[dbo].[AnotherTableName] t
WHERE t.[Code]=[LinkServerIP].[Database].[dbo].[TableName].[Code]
);
Now, when I run this I get:
Msg 4104, Level 16, State 1, Procedure xxxx, Line 113 The multi-part identifier "LinkServerIP.Database.dbo.TableName.Code" could not be bound.
Any ideas?
Best Answer
Just use the syntax that allows you to define an alias:
Or you can use dynamic SQL to simplify:
This forces the query to be run on the other side, which can provide other benefits too...