Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi "ORDER BY" reduziert Anzahl Datensätze (https://www.delphipraxis.net/92161-order-reduziert-anzahl-datensaetze.html)

FBrust 15. Mai 2007 14:12

Datenbank: BDE • Version: 5.1 • Zugriff über: TQuery

"ORDER BY" reduziert Anzahl Datensätze
 
Hallo,

ich habe div. BDE-Tabellen, auf die ich mit folgender Abfrage zugreife:

SQL-Code:
SELECT SD_OBJECTS.IntChecklist, SD_CUST.STRNAME1 AS STRCUSTNAME FROM (SD_CUST INNER JOIN SD_BUILDINGS ON SD_CUST.ID = SD_BUILDINGS.ID_Link) INNER JOIN SD_OBJECTS ON SD_BUILDINGS.ID = SD_OBJECTS.ID_Link
 GROUP BY SD_OBJECTS.IntChecklist, SD_CUST.STRNAME1
Diese Abfrage liefert Datensätze nach dem Schema

intChecklist | SD_CUST.STRNAME1
----------------------------------
1 | Kunde B
2 | Kunde A
7 | Kunde C
8 | Kunde B
9 | Kunde A
19 | Kunde C

Wenn ich allerdings ein
SQL-Code:
ORDER BY SD_CUST.STRNAME1
an die Anweisung anhänge, wird für jeden Kunden nur noch ein Datensatz ausgegeben, also

intChecklist | SD_CUST.STRNAME1
----------------------------------
2 | Kunde A
1 | Kunde B
7 | Kunde C

Wieso wird durch die Sortierung die Anzahl der Datensätze reduziert? Ich hab die Abfrage mal testweise nach Access 2000 übernommen, dort liefert sie die korrekte Anzahl Datensätze, nur eben sortiert nach dem Kundennamen.

Hat vielleicht jemand einen Tip?


Gruß
Frank

joachimd 15. Mai 2007 14:22

Re: "ORDER BY" reduziert Anzahl Datensätze
 
eventuell DBF verwendet und einen UNIQUE Index drauf? Unter DBF bezeichnet UNIQUE nicht die Eindeutigkeit des Datensatzes, sondern des Index-Eintrags (also eher ein DISTINCT Index).

FBrust 15. Mai 2007 14:36

Re: "ORDER BY" reduziert Anzahl Datensätze
 
Hallo,

die Tabellen sind vom Typ DB (Paradox), allerdings haben nur zwei der verwendeten Tabellen (SD_OBJECTS und SD_BUILDINGS) einen Index, SD_CUST hat keinen, könnte das die Ursache sein?


Gruß
Frank

Edit: Nein, ist es nicht, hab SD_CUST noch einen Index verpasst - ohne Verbesserung

joachimd 15. Mai 2007 14:47

Re: "ORDER BY" reduziert Anzahl Datensätze
 
dann hilft nur der generelle Bugfix: Geh weg von der BDE und Paradox ;)

FBrust 15. Mai 2007 14:50

Re: "ORDER BY" reduziert Anzahl Datensätze
 
Hallo,

guter Tip, bin ich schon dabei.... :???:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz