Forum: SQL |
Thema:
AW: Sortierung falsch angezeigt |
Von:
Berthold Neumann (
28.07.2006 08:48) |
Hallo,
für deine Ausgangsfrage hätte die Sortierung schon gereicht :-)
Aber ich habe ja auch dazugeschrieben: in den meisten Fällen.
Die SQL-Sortierungsfunktion ist eher einfach gestrickt. Um das gewünschte Ergebnis zu erhalten, muss man die Parameter mundgerecht dareichen.
In deinem Fall handelt es sich ja wohl um Kapitelnummern oder ähnliches. Jeder Punkt verringert die Hierarchiestufe. Die Werte sind numerisch.
Du mußt nun eine Funktion schreiben, die dir aus der gegebenen Zeichenfolge die Stufe-1, Stufe-2,...., Stufe-max ausgeibt und danach sortieren.
Das kannst du als UDF (User-Defined-Function) realisieren oder als ellenlanger Funktionsstring direkt in der Order-Klausel.
Alternativ speicherst du die die Stufen schon beim Update im Datensatz und sortierst dann nach den Spalten.
Der Lösungen gibt es viele, suche dir eine aus.
Gruß
Berthold Neumann
Betreff |
Von |
Datum |
|
|
Martin
Mostögl
|
28.07.2006 10:39 |
|
|
AW: AW: AW: Sortierung falsch angezeigt
Hallo, <br><br>so ganz auf die Schnelle, hier ein Lösungvorschlag per UDF:<br><br>Create FUNCTION Stufe (@input varchar (50),@stufe as integer) <br>RETURNS integer AS <br>BEGIN <br><br>declare @erg ... |
|
|
|
|
|
Berthold
Neumann
|
28.07.2006 11:16 |
|
|
Martin
Mostögl
|
28.07.2006 11:32 |
|
|
Martin
Mostögl
|
10.08.2006 13:39 |
|
|
AW: AW: AW: AW: AW: AW: Sortierung falsch...
Hi,<br>keine Ahnung ob das schneller geht oder dir diese Art der Lösung überhaupt gefällt :-)<br><br>create function testo(@_wert nvarchar(500), @_laenge integer) Returns nvarchar(500) as<br>begin <br>declare... |
|
|
|
|
|
Thomas
Golla
|
11.08.2006 09:14 |
|
|
Martin
Mostögl
|
11.08.2006 10:35 |
|
|
Martin
Mostögl
|
11.08.2006 11:55 |
|
|
AW: AW: AW: AW: AW: AW: AW: AW:...
Hi, falls du meine Idee meintest :-)<br><br>ich wandele einfach die Zahlen in einen nvarchar mit fester Länge um und diese werden dann sortiert.<br>Die fehlenden Stellen der variablen werden von links mit 0... |
|
|
|
|
|
Thomas
Golla
|
11.08.2006 12:19 |
|
|
AW: AW: AW: AW: AW: AW: AW: AW:...
Ja super danke! Nach längerem analysieren hab ich das Prinzip auch rauslesen können. Danke nochmal, selber wäre ich da nie drauf gekommen! |
|
|
|
|
|
Martin
Mostögl
|
11.08.2006 13:25 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!