Sortierung nach bestimmten Wert
-
Hallo,
ich arbeite mit SQL-Server 2005 und suche nun eine möglichkeit, direkt in einer SQL-Abfrage Datensätze so zu sortieren, dass zuerst diejenigen angezeigt werden, die in einer Spalte einen bestimmten wert haben, und dann die anderen. Hier ein Beispiel:Datensätze
1 XX
2 YY
3 ZZ
4 YY
5 BB
6 AA
7 YY
8 CCIch möchte das Ergebniss so haben (z.B. für YY):
2 YY
4 YY
7 YY
1 XX
3 ZZ
5 BB
6 AA
8 CCGibts da ne Möglichkeit?
-
Füge doch noch eine dritte Spalte hinzu, die Du entdprechend der Zeileninhalte bewertest und danach sortierst. Also beispielsweise eine int-Spalte, die bei 'YY' 0 ausgibt, bei anderen 1 und denn nach dieser Spalte sorieren.
-
So ene Möglichkeit gibt es nicht.
DU könntest 2 Querys mit UNION machen aber keine gute Lösung.
Auch könntest du eine CASE machen.WENN YY dann eine weitere Spalte und mit 1 beginnen. Danach sortierst du nach dieser Spalte.
SChau dir in TSQL CASE und IF an.
-
Kennt das Teil decode?
select * from tabelle order by decode(feld, 'YY', 1, 0)