Ilja: Neuester Eintrag aus 2 Spalten

Beitrag lesen

yo,

Aber wenn du das von fk genau anschaust, macht diese Abfrage haargenau dasselbe wie meine, nur dass er die if-Bedingung vorn in einen Alias verpackt. Also benutzt er genau auch bei ORDER BY eine if-Abfrage...

der unterschied ist der, dass die if funktion mit alias mehrmals ausgeführt werden kann und zwar so oft wie es datensätze gibt. dabei wird die liste der ergebnisse erzeugt. das dbms nimmt einen datensatz, überprüft die where bedigungen und führt die funktion aus, um es dann in die ergebnisstabelle zu packen.

die if funktion in der order by klausel wird aber nur ein einziges mal ausgeführt, wenn die ergebnisstabelle komplett ist. order by ist nichts anders als eine sortierung der ergebnisstabelle. selbst wenn es jedesmal ausgeführt auf die ergebnissmenge werden würde (was ist nicht glaube), quasi mit jedem datensatz dir sortierung neu erfolgen würde (was unendlich viel performance kostet), selbst dann würde nur eine sortierung gelten, nämlich die letzte. und die muss nicht immer die gewünschte sein.

Ilja