我创建了一个用于访问在线数据库的链接服务器,以便我可以从在线数据库中选择新记录并根据客户 ID 将它们插入到本地数据库中。
这是我选择新记录的查询:

SELECT * FROM [194.0.252.151].onlineDB.dbo.customers
WHERE [194.0.252.151].onlineDB.dbo.customers.CustomerID
NOT IN
(SELECT CustomerID FROM LocalDB.dbo.customers)

让我说,像从 onlineDB 中选择这样的操作工作得很好,但上面的代码没有从 onlineDB 返回所需的(新)记录。
错误说:
The multi-part identifier "194.0.252.151.onlineDB.dbo.customers.CustomerID" could not be bound.

我无法弄清楚我犯的错误。
任何帮助,将不胜感激。

最佳答案

您不需要在列前指定服务器名称

请去

SELECT * FROM [194.0.252.151].onlineDB.dbo.customers
WHERE CustomerID
NOT IN
(SELECT CustomerID FROM LocalDB.dbo.customers)

我认为它应该工作

关于SQL SELECT .... NOT IN 查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18695322/

10-13 01:21