Tobias Kloth: SQL-Ergebnisse beim Sortieren ausschließen

Beitrag lesen

Hallo Frank,

Ich hab folgendes Problem: ich habe eine Tabelle mit einem Fremdschlüssel, der allerdings nicht zwangsläufig belegt ist, z.B.

dazu schrieb Vinzenz ja bereits, dass hier NULL geeigneter wäre.

Jetzt will ich die Datensätze aufsteigend nach FK sortieren und es nervt, dass da am Anfang natürlich immer die mit "0" stehen.

Du hat nicht geschrieben, welches DBMS du verwendest, aber wenn es IF() unterstützt (kann das außer MySQL überhaupt noch ein DBMS?), könntest du sowas verwenden:
SELECT pk, name, fk, IF(fk=0,2,1) as sort FROM tabelle ORDER BY sort, fk
In der Spalte sort steht dann bei den Zeilen mit fk=0 eine 2 drin und bei allen anderen eine 1 - durch die Sortierung nach sort werden die unerwünschten Zeilen dann nach unten geschoben.

Grüße aus Nürnberg
Tobias