die suchergebnisse sollen sortiert werden.
datenbank (kurzversion) mit:
Feld:Kommerziell Wert:Ja oder Nein
Feld:Preis Wert:Zahl
Feld:Aktion Wert:Suche, Biete oder Tausche
Feld:PLZ Wert:Zahlzb soll zuerst nach Aktion sortiert werden (also suche, biete oder tausche), dann nach kommerziell oder nicht, und dann noch PLZ oder Preis
Heyho,
solltest Du in jedem Feld eine "normale" Sortierung, d.h entweder ab- oder aufsteigend wollen, sieht der SQL-String ungefähr so aus
Aufsteigende Sortierung:
SQL = "SELECT * FROM tblEins ORDER BY Aktion, Kommerziell, PLZ, Preis;"
Absteigende Sortierung:
SQL = "SELECT * FROM tblEins ORDER BY Aktion DESC, Kommerziell DESC, PLZ DESC, Preis DESC;"
Soweit so gut.
Solltest Du im Feld Aktion eine beliebige Sortierung wünschen (nicht nach dem Alphabet), wäre eine extra Tabelle, in der die Begriffe definiert sind, eher geeignet.
Dafür legt man eine neue Tabelle mit fogender Struktur an:
Index -> Zahl (Primärschlüssel)
Text -> Text
Sortpos -> Zahl
Jetzt kannst Du zuerst mal dem Text eine Position innerhalb der Sortierung angeben.
Diese Tabelle wird dann als Grundlage für den eigentlichen Wert der Haupttabelle benutzt.
In Deiner Haupttabelle mußt Du das Feld Aktion jetzt noch in eine Zahl eingeben.
Der SQL-String (erschlag mich nicht, wenn ich einen Dreckfuhler drinhabe) sieht dann so aus.
SELECT tblEins.*, tblZwei.* FROM tblEins INNER JOIN tblZwei ON tblEins.Aktion = tblZwei.Index ORDER BY tblZwei.Sortpos;"
SQL-Datenbanken handeln sowas normalerweise ohne Probleme.
MySQL kenne ich nicht, aber ich habe noch keine Datenbank gesehen, die sowas nicht kann.
Tschau, Stefan