Sie erhalten den mehrdeutigen Spaltennamenfehler, wenn Sie Ihre Abfrage auf SQL Server 2000 oder unter Kompatibilitätsgrad 80 oder weniger ausführen. Auf SQL Server 2005/2008 mit Kompatibilitätsstufe 90 oder besser läuft Ihre Abfrage einwandfrei.
Aus der order by-Klauseldokumentation:
„In SQL Server 2005 werden qualifizierte Spaltennamen und Aliase in Spalten aufgelöst, die in der FROM-Klausel aufgeführt sind. Wenn order_by_expression nicht qualifiziert ist, muss der Wert unter allen in der SELECT-Anweisung aufgeführten Spalten eindeutig sein.“