2016-08-23 279 views
2

不明白什么是错在这个SQL查询:SQL Server错误不明确的列名

USE [My_db] 
GO 

SELECT ItemId 
     ,Subject 
     ,CreatedOn 
    FROM ItemBase AS e 
     INNER JOIN ItemExtensionBase AS p 
     ON e.ItemId = p.ItemId 
GO 

错误:

Msg 209, Level 16, State 1, Line 4 
Ambiguous column name 'ItemId'. 

ItemId列两个表中存在。

+0

的错误信息是非常清楚 - 但它不符合你的SQL - 你说他们都是表 - 但这意味着你没有将ItemID映射到LeadID - 那么LeadID从哪里来?除非您实际使用LeadID,否则您将不会收到该消息。 – dbmitch

+0

@dbmitch,对不起,错别字;是的,它应该是'ItemId'。我将编辑该问题。 –

回答

4
USE [My_db] 
GO 

SELECT e.ItemId 
     ,Subject 
     ,CreatedOn 
    FROM ItemBase AS e 
     INNER JOIN ItemExtensionBase AS p 
     ON e.ItemId = p.ItemId 
GO 

你需要告诉它从

3

使用e.ItemIdp.ItemId采取的itemid字段,表:

USE [My_db] 
GO 

SELECT e.ItemId 
     ,Subject 
     ,CreatedOn 
    FROM ItemBase AS e 
     INNER JOIN ItemExtensionBase AS p 
     ON e.ItemId = p.ItemId 
GO