sql-serversql-server-2008inner-join

SQL server ERROR Ambiguous column name


Can't understand what's wrong in this SQL query:

USE [My_db]
GO

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

Error:

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

ItemId column exist in both tables.


Solution

  • USE [My_db]
    GO
    
    SELECT e.ItemId
          ,Subject
          ,CreatedOn
      FROM ItemBase AS e
          INNER JOIN ItemExtensionBase AS p
          ON e.ItemId = p.ItemId
    GO
    

    You need to tell it which table to take the itemid field from