title: SQL Server 2005 The multi-part identifier "x" could not be bound
body: <p>I think I'm having a syntax problem, but I'm struggling to find an answer...</p>
  
  <p>Could anyone explain why</p>
  
  <pre><code>SELECT TOP 3 * FROM Facilities 
          INNER JOIN FacilityStates 
          ON FacilityStates.Asset = Facilities.ID
          WHERE Facilities.ID = 'MyFacility'
  </code></pre>
  
  <p>compiles and returns a suitable result, but what I think is the fully qualified version </p>
  
  <pre><code>SELECT TOP 3 * FROM [dbo].[Facilities] 
                 INNER JOIN [dbo].[FacilityStates]
                 ON [dbo].[FacilityStates.Asset] = [dbo].[Facilities.ID]
                 WHERE [dbo].[Facilities.ID] = 'MyFacility'
  </code></pre>
  
  <p>throws "The multi-part identifier "x" could not be bound." for the left and right parts of the 'on' clause and the 'where' clause?</p>