helmuthelmut2000
Goto Top

In einer Sortierung sortieren

In einer MSSQL2000 DB soll in einer Sortierten Spalte sortiert werden.

Hallo,

Ich habe in einem Intranet ein Web gemacht das Daten mit
einem Formular in eine MSSQL2000 DB schreibt.
Das funktioniert sehr gut.
Mit Frontpage habe ich Seiten erstellt die aus der DB gelesen werden.
Da sortiere ich natürlich die Spalten.
Jetzt möchte ich in der Sortierten Spalte auch eine Sortierung haben.
Weis jemand wie ich das am besten mach?
Für euren Rat wäre ich euch sehr dankbar.

mfg
Helmut

Content-Key: 22026

Url: https://administrator.de/contentid/22026

Printed on: April 20, 2024 at 03:04 o'clock

Member: dievonnebenan
dievonnebenan Dec 20, 2005 at 14:41:38 (UTC)
Goto Top
Hallo Helmut,

bitte erkläre mal genau, was du damit meinst:

Jetzt möchte ich in der Sortierten
Spalte auch eine Sortierung haben.

ich versteh bisher nämlich das problem nicht.

grüsse chris
Member: Biber
Biber Dec 20, 2005 at 15:24:16 (UTC)
Goto Top
@chris
..er sucht die Syntax der "ORDER BY"-Klausel.
So was wie "order by spalte1, spalte2, Spalte3".

Und wenn er den Begriff nicht kennt, muss er es ja irgendwie spiralförmig einkreisen. Nun sei mal ein bisschen kooperativer. face-wink

@helmuthelmut2000
Nenne doch mal bitte die Spaltennamen, nach denen Du sortieren willst, dann bekommen wir das schon raus.

Grüße Biber
Member: dievonnebenan
dievonnebenan Dec 20, 2005 at 17:27:44 (UTC)
Goto Top
@Biber & Helmut
hab das ja net bös gemeint face-smile

wollte einfach nur ne erklärung für ganz dumme, damit ich auch nach 14 stunden arbeit noch was produktives zu stande bringe *gg*

@Biber
bin mal gespannt, ob es tatsächlich das war, was er meinte ;)
Member: Biber
Biber Dec 20, 2005 at 18:04:33 (UTC)
Goto Top
@chris
Ich wette wahlweise ein Becks oder ein Stück Sachertorte darauf face-wink
Member: dievonnebenan
dievonnebenan Dec 21, 2005 at 10:20:33 (UTC)
Goto Top
@Biber
dann eher das stück torte, das passt leichter in die steckdose. des becks bekomm ich gleich gar net in die leitung. face-smile
Member: helmuthelmut2000
helmuthelmut2000 Dec 21, 2005 at 14:05:35 (UTC)
Goto Top
Ja,
das war vielleicht etwas schlecht ausgedrückt,
aber das ganze soll so sein.

Ich habe 3Spalten die heisen Eilt, Kunde und Auftrag.
Wenn ich eine Sortierung nach Eilt mache dann soll in
dem Bereich Eilt auch nach Kunde sortiert werden und
evt. auch bei gleichen Kunden dann auch nach Auftrag
sortiert sein.
So hab ich das gemeint.
Wenn noch was unklar ist dann einfach nochmal nachfragen.

Gruß
Helmut
Member: Biber
Biber Dec 21, 2005 at 14:19:16 (UTC)
Goto Top
Moin Helmut,
dann sollte tatsächlich eine Ergänzung/Änderung des SELECT-Statements auf

ORDER BY Eilt, Kunde, Auftrag

das gewünschte tun. Du kannst auch jeder dieser Spalten noch eine weitere Verfeinerung "ASC" oder "DESC" mitgeben, um dieses Kriterium aufsteigend (DEFAULT) oder absteigend zu sortieren.
Beispiel:
ORDER BY Eilt, Kunde, Auftrag DESC

..würde die "höchsten" Auftrag(snummern)/die neuesten zuerst bringen, falls derselbe Kunde mehrere Aufträge offen hat.

HTH Biber

@chris *Becksplonggggggggg* face-wink
Member: helmuthelmut2000
helmuthelmut2000 Dec 23, 2005 at 14:33:06 (UTC)
Goto Top
Hallo Biber,

Ja das funktioniert schon wenn ich Überall Zahlen drinhab.
Aber wenn ich z.B eine Spalte mit nur einem Wort drinhab
z.B. Eilt oder für nicht Eilt hab ich die Spalte leer, dann schreib
ich
ORDER BY Eilt DESC,Auftrag ASC
Da sortiert er mir die Spalten mit dem Inhalt Eilt vornehin und
danach sortiert er mir nach Auftragsnummern aufwärts das will
ich so und jetzt sollte er mir noch inerhalb von Eilt das auch
nach Auftragsnummern sortieren. Weist du wie ich das mein?
Wenn nicht frag einfach nochmal nach.

Gruß
Helmut
Member: Biber
Biber Dec 24, 2005 at 00:03:55 (UTC)
Goto Top
Nö, Helmut,

versteh ich jetzt nicht.
Aber das liegt auch daran, dass ich relativ phantasielos bin, wie Dir meine Ex jederzeit bestätigen kann.
Ich brauche immer schon ein Beispiel, sonst kann ich wenig dazu sagen.
Ich leg mal eins vor - wenn ich eine Mini-Tabelle anlege mit ein paar Auftragsnummern von 127 an heruntergeleiert:
...sieht das so aus:

SELECT auftragsnr, kundennr, eilt
FROM Auftrag

auftragsnr kundennr eilt
127 3000
128 2988 Eilt
129 4444
130 7366
131 5555
132 4444 Eilt
133 4444
134 3000

sortiert nach: "Eilt" zuerst, innerhalb "Eilt" bzw (leer) nach Auftragsnummern
SELECT auftragsnr, kundennr, eilt
FROM Auftrag
order by eilt desc, auftragsnr, kundennr ;

auftragsnr kundennr eilt
128 2988 Eilt
132 4444 Eilt
127 3000
129 4444
130 7366
131 5555
133 4444
134 3000

sortiert nach: "Eilt" zuerst, innerhalb "Eilt" bzw (leer) nach Kundennummern
SELECT auftragsnr, kundennr, eilt
FROM Auftrag
order by eilt desc, kundennr, auftragsnr
auftragsnr kundennr eilt
128 2988 Eilt
132 4444 Eilt
127 3000
134 3000
129 4444
133 4444
131 5555
130 7366

Was willst Du jetzt anders, an diesem Beispiel erläutert?

Außerdem: warum richtest Du nicht statt dieses Textfelds "Eilt" ein numerisches Feld "Prio" ein?
Dann kannst Du noch differenzieren nach Prio 1, Prio2... und Prio 99, wenn du willst.

Grüße Biber
Member: helmuthelmut2000
helmuthelmut2000 Dec 24, 2005 at 12:25:44 (UTC)
Goto Top
Hallo Biber,

Ja genau das ist mein Problem.
Das geht bei mir nicht.
Ich hab das Feld in einer MSSQL2000 DB
und das Feld mit dem Eilt hab ich als nvarchar
ist das vielleicht falsch.
Mit den Zahlen funktioniert das einwandfrei.

Gruß
Helmut
Member: Biber
Biber Dec 24, 2005 at 12:38:18 (UTC)
Goto Top
Moin Helmut,
wie oben angedeutet: ich halte ein Textfeld "Eilt" für unglücklich.
Da provozierst Du auch unerwünschte Seiteneffekt wie unterschiedliche Kategorien bei unterschiedlichen Texteingaben (Beispiel: Eingegeben wäre "Eilt", "eilt", "Eilt!!" und "Eilig").
Ich würde es mit einem logischen J/N-Feld machen, wenn es nur [Eilig|Nicht eilig] gibt oder mit einem "Prio"-Feld, wenn es da Abstufungen gibt.

Grüße Biber
Member: helmuthelmut2000
helmuthelmut2000 Dec 24, 2005 at 13:56:35 (UTC)
Goto Top
Hallo,

Ja ich hab das schon in einem Dropdownfeld.
Das meinst du doch oder?
Denn wenn es nicht Eilt, dann soll auch nichts
auf der Seite erscheinen. Dann hebt sich das
Eilige besser hervor.

Gruß Helmut
Member: Biber
Biber Dec 24, 2005 at 14:10:55 (UTC)
Goto Top
Tja, Helmut,
wenn es in dem nvarchar()-Feld nur die beiden Werte "Eilt" und NULL gibt, dann sollte es bei Dir unter MySQL genauso funktionieren wie bei meinem Beispiel unter Access.
Wenn es so nicht funktioniert, sorry... dann scheint es etwas MySQL-spezifisches zu sein und das kann ich hier nicht reproduzieren.
Aber wundern tut es mich schon... lese mal weiter mit.
Gruß Biber
Member: helmuthelmut2000
helmuthelmut2000 Dec 28, 2005 at 11:35:43 (UTC)
Goto Top
Hallo Biber,

Ich glaub ich habs.
Ich hab das jetzt bei einem MSSQL2000 mit SP4 probiert da hats
auch funktioniert.
Und bei mir ist nur der MSSQL2000 installiert.
Jetzt tu ich den mal updaten.

Aber danke erst mal.

Gruß
Helmut
Member: Biber
Biber Dec 28, 2005 at 12:04:48 (UTC)
Goto Top
Moin Helmuthelmut2000,
wäre ja schön, wenn es daran liegt.

Fällt mir auch irgendwie leichter, am M$s SQL-Server zu zweifeln als an meinen Codeschnipseln... face-big-smile

Bin gespannt.
Biber