Es ist mit Fall, weil Sie einen Alias zu der ORDER BY-Klausel zuweisen versuchen - das und ich nicht nicht erlaubt ist, bin Sicher was willst du hier erreichen?
Sie müssen entweder:
Select T1.* from T1
LEFT JOIN T2 ON T1.C1 = T2.C1
LEFT JOIN T3 ON T2.C3 = T3.C3
ORDER BY Case When T1.C1 = 'ABC' THEN 'XYZ' END
Oder, wenn Sie, dass CASE Wert wollen auch in der SELECT zurückgegeben werden, dann müssen Sie:
Select T1.*, Case When T1.C1 = 'ABC' THEN 'XYZ' END AS COMMENTS
from T1
LEFT JOIN T2 ON T1.C1 = T2.C1
LEFT JOIN T3 ON T2.C3 = T3.C3
ORDER BY Case When T1.C1 = 'ABC' THEN 'XYZ' END
Auch wieder nicht sicher, ob der Absicht Hier kommt es darauf an, aber Sie brauchen möglicherweise einen ELSE auf diesem Fall ... zB
ORDER BY CASE WHEN T1.C1 = 'ABC' THEN 'XYZ' ELSE T1.C1 END
Motiv -> Ich möchte das Vergleichsergebnis in einem Spaltennamen Kommentare speichern. Sollte ich IF-Anweisung mit ORDER BY dafür verwenden? –