Du kommer att få det tvetydiga kolumnnamnsfelet om du kör din fråga på sql-server 2000, eller under kompatibilitetsnivå 80 eller lägre. På sql-server 2005/2008 med kompatibilitetsnivå 90 eller bättre fungerar din fråga bra.
Från order by clause docs:
"I SQL Server 2005 löses kvalificerade kolumnnamn och alias till kolumner listade i FROM-satsen. Om order_by_expression inte är kvalificerat måste värdet vara unikt bland alla kolumner som anges i SELECT-satsen."