2016-08-23 275 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