Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Computed by Ausdruck mit SELEECT SUM berechnen (https://www.delphipraxis.net/43442-computed-ausdruck-mit-seleect-sum-berechnen.html)

mojo777 4. Apr 2005 09:02

Datenbank: ib • Version: 6 • Zugriff über: sql

Computed by Ausdruck mit SELEECT SUM berechnen
 
Guten Morgen!
Hat jemand schon Erfahrungen mit den Computed By Ausdrücken in INterbase?
Ich will ein Felt erstellen, welches anzeigt, wieviele Transaktionen der Kunde bereits durchgeführt hat.
Die Berechnung will ich nicht in delphi ausführen, da es ziemlihc lange dauerte als ich es ausprobiert habe.
Hier kurz die Idee:

Delphi-Quellcode:
CREATE TABLE KUNDEN (
    KND_ID INTEGER,
    KND_ANREDE CHAR (4) CHARACTER SET NONE DEFAULT 'Herr' COLLATE NONE,
    KND_NACHNAME VARCHAR (50) CHARACTER SET NONE NOT NULL COLLATE NONE,
    KND_VORNAME VARCHAR (50) CHARACTER SET NONE NOT NULL COLLATE NONE,
    KND_GEBOREN DATE,
(...)
    KND_RATING INTEGER COMPUTED BY(??????????)
    PASSWORT VARCHAR (20) CHARACTER SET NONE COLLATE NONE);
Alles dreht sich um das Feld KND_RATING.
Dort soll das FELD ANZ aus dieser sql-abfrage stehen:
Delphi-Quellcode:
SELECT SUM(1) AS ANZ
FROM TRANSACTIONS t
WHERE t.TRN_KND_ID=:KND_ID GROUP BY t.TRN_KND_ID
Vielen Dank im VOraus!

Albi 6. Apr 2005 16:20

Re: Computed by Ausdruck mit SELEECT SUM berechnen
 
Hallo,

hättest Du die Suche zu hilfe genommen wärst bestimmt auf die Antwort gestoßen. :wink:

Hier im Forum suchencomputed By

Wenn ich das richtig verstehe, dann willst Du in dem Feld Knd-Rating immer die Anzahl der bisherigen Tansactionen zu stehen haben. Wäre es dann nicht sinnvoller dies mit Count zu lösen und das zur Laufzeit immer neu berechnen zu lassen? Dann sparst Du dir die schreibzugriffe auf der DB.

Ansonsten kannst Du den Computed by so benutzen:

Code:
Create Table Test (
ID Integer,
Test1 Integer,
Test2 Integer,
Gesamt Integer Computed BY (Test1+Test2))

mojo777 6. Apr 2005 18:13

Re: Computed by Ausdruck mit SELEECT SUM berechnen
 
hi alibi,
also das hab ich ja gelesen mit
Delphi-Quellcode:
comupted by (test1+test2)
aber das ist zu simpel.
Count kommt der sache schon näher, aber ich habe noch keine konkrete vorstellung wie der code aussehen soll...
hier ein versuch.. bitte korrigiere mich. :-)
Delphi-Quellcode:
SELECT KND_ID, KND_NAME COUNT(t.TRN_ID) FROM KUNDEN
JOIN TRANSACTION t ON TRN_KND_ID=KND_ID
WHERE KND_ID=:KND_ID
GROUP BY KND_ID, KND_NAME
gruß

mojo

edit:1 Hey das klappt ja!!! :party:
danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:09 Uhr.

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