WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   ASP/SQL - Sortierprobleme... (http://www.wcm.at/forum/showthread.php?t=114430)

randomize 04.11.2003 19:42

ASP/SQL - Sortierprobleme...
 
Hallo,

1)
angenommen, ich habe eine Tabelle... Von mir aus einspaltig mit folgenden (fiktiven) Werten:

15
6
24
10
8
9
21
12
5
19

Sortiert mit ORDER BY number DESC kommt da eigentlich (wenngleich verständlicher...) Schmarrn raus:

9
8
6
5
24
21
19
15
12
10

Stelle ich den einstelligen Zahlen eine '0' (Null) voran, klappt es schon besser...

24
21
19
15
12
10
09
08
06
05

So soll es eigentlich sein. Aber wie bekomme ich es ohne eine führende Null hin, so dass quasi nach dem 'Wert' der Zahl, nicht der 'Zeichenfolge' Zahl sortiert wird, gibt es da eine Möglichkeit?

2)
Angenommen, ich habe eine Tabelle wie folgt:

A 1
B 2
C 5
C 4
C 3
D 6
E 7

Es ist offensichtlich, dass 'C' dreimal vorkommt, mit jeweils unterschiedlicher Nummer in der anderen Spalte.
Meine Frage: Kann/Wie kann ich angeben, nach welcher Spalte als zweites sortiert werden soll, wenn ich ORDER BY buchstabe ASC angebe?
Ich hoffe, das Problem ist klar... Die drei 'C's werden ja nach Buchstaben sortiert, aber sie sind gleich, d. h. es gibt nicht mehr viel zu sortieren, also möchte ich eine zweite Spalte zur weiteren Sortierung angeben. Ist/Wie ist das möglich?

Vielen Dank!
Etienne

_m3 04.11.2003 19:44

Ich wurd aus dem Textfeld ein numerisches machen, dann klappt es auch mit den sortieren :D

pc.net 04.11.2003 19:47

oder du machst ein
ORDER BY TO_NUMBER(COLUMN_NAME) DESC

funktioniert zumindest unter oracle ...

edit:
die gefahr ist aber, dass in dem feld nicht unbedingt zahlen drinnenstehen müssen :rolleyes:


_m3 04.11.2003 19:49

"Wie umgehe ich einen Designfehler mit einer CPU-Intensiven Operation", ein kleiner Kurs von und mit pc.net. ;)

pc.net 04.11.2003 19:55

Zitat:

Original geschrieben von _m3
"Wie umgehe ich einen Designfehler mit einer CPU-Intensiven Operation", ein kleiner Kurs von und mit pc.net. ;)
:lol:
nur weil man nach einem textfeld sortieren will, ist also eine DB falsch designed :eek::utoh::lol:

btw:
@randomize
ad 2) order by spalte1 desc, spalte2 asc, spalte3, usw. ;)

pc.net 04.11.2003 19:58

achja, nochwas:
wozu hamma denn die ganzen schnellen cpu's ... die grundeln sowieso die meiste zeit im idle-mode herum :ms:

und am liebsten hab ich sowieso die sinnlosen mehrfach-konvertierungen á la
to_number(to_date(to_char(1),'Y')) :verwirrt:

randomize 04.11.2003 20:00

Ahh. Also sagen wir mal, das zweite Problem habe ich schon selbst gelöst; Das erste... Naja der Vorschlag mit 'nem numerischen Feld klingt irgendwie garnicht mal so dumm... :D

Den letzten Kommentar habe ich wohl nicht so ganz kapiert, ich bitte um Verzeihung ob meiner Dummheit :D lol Ne im Ernst, _m3, erklär nochmal bitte mit dem ähhhh "Designfehler mit CPU-intensiver Operation"... ;) Meinst du jetzt das TO_NUMBER?

Anyway, danke schonmal für den num. Feld-Tip... :D
Tschööö
Etienne

pc.net 04.11.2003 20:03

@randomize
to_number ist eine eigene operation ... wenn die spalte schon den typ number hat, dann spart man sich die konvertierung und erhöht somit die performance ;)

_m3 04.11.2003 20:13

Zitat:

Original geschrieben von pc.net
:lol:
nur weil man nach einem textfeld sortieren will, ist also eine DB falsch designed :eek::utoh::lol:

Nicht prinzipiell, aber in diesem Fall wirkte das schon so ;)

randomize 07.11.2003 21:00

Zitat:

Original geschrieben von pc.net
@randomize
to_number ist eine eigene operation ... wenn die spalte schon den typ number hat, dann spart man sich die konvertierung und erhöht somit die performance ;)

Öhhh ich frage mich gerade, warum meine Antwort so weit unten erscheint, eigentlich habe ich sie schon nach dem dritten Reply geschrieben (dachte ich zumindest), aber egal... :confused:

Danke nochmal wegen TO_NUMBER usw., naja also numerisches Feld ist wohl zweifelsohne das einfachste.

Thx!! :)
Etienne


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag