Mailinglisten-Archive |
Nadja Senoucci wrote: > ich habe da mal eine Frage (mal wieder...). Ich habe vor > einiger Zeit ein Programm geschrieben, daß einfach bestimmte > Einträge aus einer Datenbank ausgibt (sprich Suchfunktion). > Nun habe ich einige Einträge mit eienr Kundennummer und > einige ohne. Ich möchte die Einträge mit Kundennummer zuerst > ausgegeben haben und dann erst die ohne (kdnr==0) was ich > mit dem mysql-Befehl "order by kdnr desc" realisiert habe. > Nun möchte ich diese Einträge noch nach PLZ sortieren, was > ich mit "order by kdnr desc,plz asc" probiert habe. Dieser > Befehl sortiert die Einträge ohne Kundennummer (kdnr==0) > auch prima, aber die mit (z.B. 20001,20002,20003...) > natürlich nicht. Wie schaffe ich es nun, daß diese Einträge > auch noch nach PLZ sortiert werden? Mach zwei Querys: eine nach kdnr = 0 und eine nach kdnr > 0. Wenn jeder Kunde eine andere Nummer hat, dann kann nicht auch noch nach der PLZ sortiert werden. Das funktioniert nur bei den Kundennummern die gleich bleiben, als bei Kunden mit der Nummer 0. > Zweite Frage: Ich habe mit dem mysql-Befehl "group by" in > diesem Zusammenhang experimentiert (group by kdnr). Von 25 > Einträgen - die er mir hätte ausgeben sollen - hat er mir > aber nur fünf ausgegeben, nämlich die vier mit kdnr und > einen ohne kdnr (bzw. kdnr==0). So wie ich diesen Befehl > verstanden habe sollte er mi doch die Einträge nach kdnr > gruppiert ausgeben, oder nicht? Kommen die Kundennummern mehrfach vor? Wenn dem so ist, dann stimmt doch Dein Ergebnis, wie man bei der Gruppe mit der Kundennummer = 0 sehen kann. Vielleicht missverstehst Du den Begriff Kundennummer. Jeder Kunde sollte eine eindeutige Kundennummer haben. In der Kundentabelle darf eine Kundenummer nur einmal auftauchen. Ansonsten liegt ein schwerwiegender Designfehler vor. -Egon
php::bar PHP Wiki - Listenarchive