Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]3806[/thread]

Order by bei JOIN's (Seite 2)

Leser: 3


<< |< 1 2 >| >> 15 Einträge, 2 Seiten
MartinR
 2007-05-09 10:27
#35450 #35450
User since
2004-06-17
305 Artikel
BenutzerIn
[default_avatar]
Da werde, je nach Benutzerauswahl, Daten aus FD sortiert (Rufnummer oder Kundennummer)
pq
 2007-05-09 12:02
#35451 #35451
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
wenn man ein GROUP BY macht, bezieht sich das ORDER BY auf die gruppierten daten!
also das ORDER BY passiert zu spät. es geht so nicht.
und im WHERE clause kann man nicht auf aggregate zugreifen, dafür gibt es das
HAVING, das passiert aber wiederum (eben deswegen) erst nach der gruppierung.
der punkt ist, dass man der datenbank nicht sagen kann, gruppiere mit folgenden
regeln, z.b. gruppiere bei foto.id immer die höchste id. keine ahnung, ob das nur
bei MySQL so ist oder auch bei anderen datenbanken, aber ich denke schon; ich
kenne auch keine sql-syntax, die sowas bieten würde.
du musst also erst jeweils die max(id) holen und dann in einem zweiten select die
fotos selektieren. evtl. geht das ja mit einem subselect.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Froschpopo
 2007-05-09 12:07
#35452 #35452
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Mit SubSelect klappt's (siehe oben), aber 0.07 secs stellt mich nur mäßig zufrieden...
und warum Martin's Code funktioniert versteh ich auch nicht.
Vielleicht hat er das so im Server konfiguriert\n\n

<!--EDIT|Froschpopo|1178698088-->
pq
 2007-05-09 13:06
#35453 #35453
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
es kann auch zufall sein, dass es klappt, weil die interne mysql-sortierung
gerade die ist, die man möchte. zum gegentest einfach mal min statt max nehmen und
gucken, obs noch klappt. im übrigen verstehe ich martins beispiel so und so
nicht, da stehen perl-variablen drin
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
MartinR
 2007-06-11 11:59
#35454 #35454
User since
2004-06-17
305 Artikel
BenutzerIn
[default_avatar]
Stimmt, war wirklich nur Zufall :-(

Das mit den Perl-Variablen ist aber ganz einfach. Da wird z.B. $order_by einfach zur Laufzeit durch 'FD.meldung_name' ersetzt - je nachdem welchen Button der User im HTML-Formular geklickt hat. $start und $MeldungenProSeite dienen lediglich dazu das Suchergebnis seitenweise auszugeben.
<< |< 1 2 >| >> 15 Einträge, 2 Seiten



View all threads created 2007-05-08 21:44.