WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 04.11.2003, 18:42   #1
randomize
Senior Member
 
Registriert seit: 26.04.2002
Beiträge: 168


Standard 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
randomize ist offline   Mit Zitat antworten
Alt 04.11.2003, 18:44   #2
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

Ich wurd aus dem Textfeld ein numerisches machen, dann klappt es auch mit den sortieren
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 04.11.2003, 18:47   #3
pc.net
Aussteiger
 
Benutzerbild von pc.net
 
Registriert seit: 07.10.2001
Ort: Nettistan
Beiträge: 12.997

Mein Computer

Standard

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

____________________________________
Praktizierender Eristiker

No hace falta ser un genio para saber quién dijo eso.
Der wirklich faule Mensch ist oft extrem fleißig, denn er will möglichst schnell wieder faul sein.
pc.net ist offline   Mit Zitat antworten
Alt 04.11.2003, 18:49   #4
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

"Wie umgehe ich einen Designfehler mit einer CPU-Intensiven Operation", ein kleiner Kurs von und mit pc.net.
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 04.11.2003, 18:55   #5
pc.net
Aussteiger
 
Benutzerbild von pc.net
 
Registriert seit: 07.10.2001
Ort: Nettistan
Beiträge: 12.997

Mein Computer

Standard

Zitat:
Original geschrieben von _m3
"Wie umgehe ich einen Designfehler mit einer CPU-Intensiven Operation", ein kleiner Kurs von und mit pc.net.

nur weil man nach einem textfeld sortieren will, ist also eine DB falsch designed

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

No hace falta ser un genio para saber quién dijo eso.
Der wirklich faule Mensch ist oft extrem fleißig, denn er will möglichst schnell wieder faul sein.
pc.net ist offline   Mit Zitat antworten
Alt 04.11.2003, 18:58   #6
pc.net
Aussteiger
 
Benutzerbild von pc.net
 
Registriert seit: 07.10.2001
Ort: Nettistan
Beiträge: 12.997

Mein Computer

Standard

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

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

No hace falta ser un genio para saber quién dijo eso.
Der wirklich faule Mensch ist oft extrem fleißig, denn er will möglichst schnell wieder faul sein.
pc.net ist offline   Mit Zitat antworten
Alt 04.11.2003, 19:00   #7
randomize
Senior Member
 
Registriert seit: 26.04.2002
Beiträge: 168


Standard

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...

Den letzten Kommentar habe ich wohl nicht so ganz kapiert, ich bitte um Verzeihung ob meiner Dummheit 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...
Tschööö
Etienne
randomize ist offline   Mit Zitat antworten
Alt 04.11.2003, 19:03   #8
pc.net
Aussteiger
 
Benutzerbild von pc.net
 
Registriert seit: 07.10.2001
Ort: Nettistan
Beiträge: 12.997

Mein Computer

Standard

@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
____________________________________
Praktizierender Eristiker

No hace falta ser un genio para saber quién dijo eso.
Der wirklich faule Mensch ist oft extrem fleißig, denn er will möglichst schnell wieder faul sein.
pc.net ist offline   Mit Zitat antworten
Alt 04.11.2003, 19:13   #9
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

Zitat:
Original geschrieben von pc.net

nur weil man nach einem textfeld sortieren will, ist also eine DB falsch designed
Nicht prinzipiell, aber in diesem Fall wirkte das schon so
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 07.11.2003, 20:00   #10
randomize
Senior Member
 
Registriert seit: 26.04.2002
Beiträge: 168


Standard

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...

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

Thx!!
Etienne
randomize ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:06 Uhr.


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