Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TQuery -> Anzahl Datensätze (https://www.delphipraxis.net/96426-tquery-anzahl-datensaetze.html)

mkinzler 25. Jul 2007 14:19

Re: TQuery -> Anzahl Datensätze
 
Zitat:

Welche Tabelle würde ich denn für ID angeben, wenn ID ein berechnetes Feld ist ?
Unter ID meinte ich das Primärschlüsselfeld. Willst du den die Anzahl der datensätze oder anzahl verschiedener Werte einer Spalte?

HolgerCW 25. Jul 2007 14:28

Re: TQuery -> Anzahl Datensätze
 
Ich möchte den Inhalt eines Feld, welches ich DB_ANZAHL genannt habe addieren.

Das Feld DB_ANZAHL, ist ein berechnetes Feld.

Kann ich das Feld DB_ANZAHL in meine Select Abfrage implementieren ?

Dann könnte ich sogar danach sortieren und auch SUM() machen ...

Gruss

Holger

mkinzler 25. Jul 2007 14:44

Re: TQuery -> Anzahl Datensätze
 
Wo wird das Feld berechnet?

HolgerCW 25. Jul 2007 14:59

Re: TQuery -> Anzahl Datensätze
 
In der entsprechenden TQuery in dem Ereignis onCalcFields.

Vorher hatte ich das Feld mit Doppelklick auf die Query und 'Neues Feld' der Query beigefügt.

Gruss

Holger

mkinzler 25. Jul 2007 15:39

Re: TQuery -> Anzahl Datensätze
 
Dann geht es nicht, da zu diesem Zeitpunkt das Feld noch nicht existiert. U.U. könntest du das Feld im Query anlegen.

HolgerCW 25. Jul 2007 16:47

Re: TQuery -> Anzahl Datensätze
 
Nochmal zu deiner Select - Abfrage in der Select Abfrage:

Zitat:

select <feldlist>,(select count(<id>) from <tabelle>) as anzahl from <tabelle> ...
Ich könnte ja die Anzahl auch in der Select Abfrage bestimmen.

Nur wenn ich:

Delphi-Quellcode:
select <feldlist>,(select count(<id>) from <Andere Tabelle>) as anzahl from <tabelle> ..
mache habe ich ja nur die Gesamte Anzahl von der anderen Tabelle.

Ich müsste also so was in der Art bauen:

Delphi-Quellcode:
select <ID, SpalteA, SpalteB>,(select count(<ID>) from <Tabelle 2> WHERE TABELLE1.ID = TABELLE2.ID) as anzahl from <Tabelle 1> ..
Wenn ich das mache dauert die Abfrage aber sehr lange. Kann ich die Berechnung in der Select - Abfrage auch für nur die angezeigten Werte machen ?
So läuft das ja by oncalcfields ...

Gruss

Holger

mkinzler 25. Jul 2007 18:27

Re: TQuery -> Anzahl Datensätze
 
Bei vielen Zeilen würde ich die Abfragen trennen

HolgerCW 26. Jul 2007 09:51

Re: TQuery -> Anzahl Datensätze
 
Was meinst Du genau mit Trennen ?

Jede Abfrage in eine TQuery ...

Also eine für die Gesamt-Anzahl und die andere für die Datensätze ?

Aber wenn ich jetzt, wie in der letzten Abfrage von mir gemacht, die Anzahl für jeden Datensatz berechnet werden soll kann ich die ja schlecht trennen, oder ?

Gruss

Holger

DeddyH 26. Jul 2007 10:02

Re: TQuery -> Anzahl Datensätze
 
Zitat:

Zitat von HolgerCW
Aber wenn ich jetzt, wie in der letzten Abfrage von mir gemacht, die Anzahl für jeden Datensatz berechnet werden soll kann ich die ja schlecht trennen, oder ?

Anzahl je Datensatz? Erklär mal, ich glaube fast, Du musst gruppieren.

HolgerCW 26. Jul 2007 10:20

Re: TQuery -> Anzahl Datensätze
 
Das funktioniert. Mit Anzahl je Datensatz.

Ich schaue in einer anderen Tabelle nach wieviel mal die ID aus Tabelle1 in der anderen Tabelle vorhanden ist.

Da mache ich einen Count drüber und schreibe nun pro ID aus Tabelle 1 die Anzahl der vorkommenden IDs aus Tabelle 2 in eine virtuelle Spalte und zeige dieses an.

Gruss

Holger


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:41 Uhr.
Seite 2 von 3     12 3      

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