Spesso ci troviamo a dover effettuare join con dati che non sono proprio coerentissimi e allora sotto con le Derived Table ...
Select * from (
Select T1.dato1,T2.dato2 from tabella1 T1
join (select id2 as id1, dato3 as dato2 from tabella2) T2 on T2.id1 = T1.id1
) T0 order by T0.dato1 ASC, T0.dato2 DESCAlla prossima