SQL Server 错误:列名不明确

3

无法理解这个SQL查询语句有什么问题:

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列在两个表中都存在。


错误信息非常清晰明了,但它与你的SQL不匹配。你说它们都是表格,但这意味着你没有将ItemID映射到LeadID,那么LeadID从哪里来?除非你实际上在使用LeadID,否则你不会收到那个消息。 - dbmitch
@dbmitch,抱歉打错字了;是的,应该是“ItemId”。我会编辑问题。 - Arsinclair
2个回答

5
USE [My_db]
GO

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

您需要告诉它从哪个表中获取itemid字段


3

请使用 e.ItemId 或者 p.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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接