![]() |
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:
Alles dreht sich um das Feld KND_RATING.
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); Dort soll das FELD ANZ aus dieser sql-abfrage stehen:
Delphi-Quellcode:
Vielen Dank im VOraus!
SELECT SUM(1) AS ANZ
FROM TRANSACTIONS t WHERE t.TRN_KND_ID=:KND_ID GROUP BY t.TRN_KND_ID |
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: ![]() 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)) |
Re: Computed by Ausdruck mit SELEECT SUM berechnen
hi alibi,
also das hab ich ja gelesen mit
Delphi-Quellcode:
aber das ist zu simpel.
comupted by (test1+test2)
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:
gruß
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 mojo edit:1 Hey das klappt ja!!! :party: danke! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 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