The multi-part identifier "Offers.OfferDescription" could not be bound.


  • This is my code :

    SELECT CustomerInfo.NationalID, CustomerInfo.FNama, CustomerInfo.LName, Offers.OfferID, CustomerInfo.MobileNumber, Offers.OfferDescription

    FROM CustomerInfo INNER JOIN Offers ON CustomerInfo.OfferID = Offers.OfferID
    WHERE (CustomerInfo.UserName = @UserName)

    • Moved by Bob Beauchemin Friday, December 28, 2012 11:33 PM Moved to the forum for T-SQL questions (From:.NET Framework inside SQL Server)
    Friday, December 28, 2012 10:32 AM

All replies

  • By the error message it seems, there is no column "OfferDescription" in table "Offers"; but without knowing the database / table design ....

    Olaf Helper

    Blog Xing

    Friday, December 28, 2012 10:44 AM

  • this is offers table 
    Friday, December 28, 2012 10:54 AM
  • Is that the actual query, which you copy and pasted? Or did you unintentionally change something along the way? I ask, because I notice the column name CustomerInfo.FNama. That looks like a typo to me.

    Erland Sommarskog, SQL Server MVP,
    Saturday, December 29, 2012 11:25 AM
  • Hi

    I think you wrongly referring a column for that it raise error or Misspelling the table name.

    Most of the time we should always be careful when using sub queries in our T-SQL statements and always keep in mind that sub queries can only provide their results to their outer queries and not references to the sub queries' tables. But no sub query exist in your SQL.
    Can you show us your table definition?

    Ahsan Kabir Please remember to click Mark as Answer and Vote as Helpful on posts that help you. This can be beneficial to other community members reading the thread.

    Saturday, December 29, 2012 12:18 PM
  • The following message would show up if you use a wrong/missing table name or table alias in the query. Can you check that you are using the correct spellings for the alias name "Offers"?

    Msg 4104, Level 16, State 1, Line 2
    The multi-part identifier "Offers.OfferDescription" could not be bound.

    Maybe you can use shorter alias names -

    , c.FNama
    , c.LName
    , f.OfferID
    , c.MobileNumber
    , f.OfferDescription 
    FROM dbo.CustomerInfo AS c
    INNER JOIN dbo.Offers AS f
    ON c.OfferID = f.OfferID 
    WHERE (c.UserName = @UserName)

    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers.
    Aalam | Blog (

    Saturday, December 29, 2012 12:51 PM
  • Sunday, January 06, 2013 3:44 PM
  • Send me ddl of both tables.

    -- Bhavesh Thakkar

    Sr.Database Administrator
    My Blog
    Linked In Profile

    Monday, January 07, 2013 9:08 AM
  • Some things to check:

    1. Are you running the query in the correct database context?
    2. Are the tables in the same database?
    3. Has the OfferDescription column been added recently, or has the schema changed?
    4. Do you have a Synonym called Offers?
    5. Is your database case sensitive, and if so have you checked the case of your SQL against the column name?
    6. Does the query work if you remove the OfferDescription column?

    If the column exists, and it is being referenced correctly in your SQL, then there's no reason why you would get that error. 

    Monday, January 07, 2013 9:34 AM