Michael Schröpl: SQL-Abfrage via ODBC

Beitrag lesen

ich versuche gerade eine SQL-Abfrage zusammenzubasteln.

Und was genau soll diese Abfrage bewirken?

Nun brauche ich, um einen "rowspan"-Wert zu setzen
die Anzahl der bei einer Abfrage ermittleten
Datensätze und das schaut bei mir so aus:

$strAbfrage = "SELECT DISTINCT gOrt COUNT(gOrt) FROM tblGastgeber ORDER BY gOrt";

Darin sehe ich irgendwie keinen rechten Sinn.

Du willst ein "SELECT COUNT(irgendwas)" abfragen.
Das Ergebnis ist also *eine* Zeile (welche genau eine
Spalte mit einer Zahl einthält).
Wozu brauchst Du dann ein "ORDER BY", um diese 1 Zeilen
in die richtige Reihenfolge zu bringen?

Aber vielleicht willst Du ja die Anzahl der unterschied-
lichen Werte in dem besagten Feld berechnen.
Dazu könntest Du in SQL (ich nix Access, hoffentlich
geht es auch bei Dir) Zeilen mit gleichen Werten
zusammenfassen (GROUP BY gOrt) und dann deren Anzahl
zählen.

Und falls Du die Anzahl der überhaupt vorhandenen
Zeilen berechnen willst ...
(hust, hust, Kristallkugel etwas staubig. ;-)

P.S.: Wenn die Anzahl Deiner Treffer nicht zu groß ist,
dann würde ich sie komplett in einem Array ablegen,
also erst mal puffern und den ROWSPAN daraus berechnen,
und überhaupt kein extra-SQL-statement für die Zeilen-
zahl, welches unnötige Last auf den DB-Server bringt.

Und falls die Anzahl der Treffer dafür zu groß sein soll-
te, dann wäre das von Dir daraus generierte HTML-Dokument
wahrscheinlich ebenfalls ein ganz schöner Brummer ...