Sql server 2008 无法绑定多部分标识符“”

Sql server 2008 无法绑定多部分标识符“”,sql-server-2008,Sql Server 2008,我收到多部分标识符Company.Id无法绑定的错误消息。在下面的代码块上,显示代码的最后一个Company.Id。有人能告诉我为什么我会犯这个错误吗 declare @ModuleId int set @ModuleId = 3 Select Top 1 Vehicle.Id From dbo.Vehicle (NoLock) Join ( Select InventoryCompany.CompanyId As Id From dbo.InventoryCom

我收到多部分标识符Company.Id无法绑定的错误消息。在下面的代码块上,显示代码的最后一个Company.Id。有人能告诉我为什么我会犯这个错误吗

declare @ModuleId int
set @ModuleId = 3

Select Top 1 Vehicle.Id 
From dbo.Vehicle (NoLock) 
Join 
(
        Select InventoryCompany.CompanyId As Id
    From dbo.InventoryCompany (NoLock) 
        Join dbo.Inventory (NoLock) On Inventory.Id = InventoryCompany.InventoryId
        Join dbo.Module(NoLock) On Module.Content = Inventory.Id  
    Where dbo.Module.Id = @ModuleId
)CompanyIds On Company.Id = Vehicle.CompanyId

在最后一行中,更改:

Company.Id=Vehicle.CompanyId上的CompanyId

致:


CompanyId上的CompanyId.Id=车辆。CompanyId

在最后一行中,更改:

Company.Id=Vehicle.CompanyId上的CompanyId

致:


CompanyId.Id=Vehicle.CompanyId上的CompanyId

您需要将标识符更改为CompanyId


您需要将标识符更改为CompanyID

您将子查询命名为companyId,这就是您应该使用的

declare @ModuleId int
set @ModuleId = 3

Select Top 1 Vehicle.Id 
From dbo.Vehicle (NoLock) 
Join 
(
        Select InventoryCompany.CompanyId As Id
    From dbo.InventoryCompany (NoLock) 
        Join dbo.Inventory (NoLock) On Inventory.Id = InventoryCompany.InventoryId
        Join dbo.Module(NoLock) On Module.Content = Inventory.Id  
    Where dbo.Module.Id = @ModuleId
) CompanyIds On CompanyIds.Id = Vehicle.CompanyId
您将子查询命名为companyId,这就是您应该使用的

declare @ModuleId int
set @ModuleId = 3

Select Top 1 Vehicle.Id 
From dbo.Vehicle (NoLock) 
Join 
(
        Select InventoryCompany.CompanyId As Id
    From dbo.InventoryCompany (NoLock) 
        Join dbo.Inventory (NoLock) On Inventory.Id = InventoryCompany.InventoryId
        Join dbo.Module(NoLock) On Module.Content = Inventory.Id  
    Where dbo.Module.Id = @ModuleId
) CompanyIds On CompanyIds.Id = Vehicle.CompanyId