Daniela Koller: datensätze zählen mit select count(*)...

Beitrag lesen

Hi Odium

die wirkliche anzahl ist aber geringer, da das auslesende sql-statment
mit einer umfangreichen WHERE - Klausel ausgestattet ist.
wenn ich diese where-klausel in die obere abfrage einbaue läuft aber gar nichts mehr...:

Microsoft OLE DB Provider for ODBC Drivers- Fehler '80040e14'

[Microsoft][ODBC SQL Server Driver][SQL Server]Spaltenname 'tblEintraege.bereich'
ist in der ORDER BY-Klausel ungültig, da er nicht in einer Aggregatfunktion
enthalten und keine GROUP BY-Klausel vorhanden ist.

auch die betreffenden felder statt des * einzutragen bringt einen
syntaxfehler...obwohl alles korrekt aussieht

Dein Order by ist ein Problem, er kann nicht nach etwas sortieren,
das gar nicht zum Resultat gehört sondern nur eine einzelne Spalte
deren Name (korrigiere mich wenns bei MS-SQL nicht so ist, den
kenn ich nicht gut) du mit select count(*) as xyz vergeben könntest,
wenn du das nicht tust aber zufällig vom DBMS vergeben wird.

Wenn die Where clause auch noch andere Probleme macht, bitte hier
posten.

ich muss halt die suchtreffer am anfang der seite anzeigen können,
um die suchergebnisse auf mehrere seiten zu verteilen...

Du wirst kaum um zwei Abfragen herumkommen da du zwei völlig verschiedene
Dinge von der Datenbank haben willst. Unter Umständen kannst du deine
zwei Queries mit Union verknüpfen, ich weis jedoch nicht, wie UNION
darauf reagiert, zwei völlig unterschiedliche Zeilentypen (einen mit
nur deinem Countfeld, und einen mit deinen Daten) zu verknüpfen.

Oder hab ich da was falsch verstanden und das ist gar nicht das
Problem sondern nur, das deine erste Abfrage Syntaxfehler hat?

Gruss Daniela