![]() |
Datenbank: ORACLE • Version: 9 • Zugriff über: DATABASE
Berechnetes Feld in TQuery
Hallo zusammen,
wie kann ich z.B. sowas:
Delphi-Quellcode:
in eine Select - Abfrage umbauen und in einer TQuery implementieren ?
if Query['DRUCKGERAETVORHANDEN'] = 1 then
begin Query['KEIN_DB'] := 'P'; end else begin Query['KEIN_DB'] := ''; end; Gruss Holger P.S.: KEIN_DB -> zur Zeit ein berechnetes Feld DRUCKGERAETVORHANDEN -> Spalte in der Datenbank |
Re: Berechnetes Feld in TQuery
Ungetestet:
SQL-Code:
SELECT Feld1,(CASE DRUCKGERATVORHANDEN WHEN 1 THEN 'P' ELSE '' END) AS KEIN_DB
FROM Tabelle WHERE... |
Re: Berechnetes Feld in TQuery
Funktioniert,
super ... Danke ... Gruss Holger |
Re: Berechnetes Feld in TQuery
Habe da jetzt mal was gebaut, das klappt aber nicht ganz. Er sagt mir fehlender Ausdruck:
Delphi-Quellcode:
Gruss
(CASE SYSWVKISU.ZEITSCHEIBEN.LEIST WHEN > (SELECT SYSDBP.DBP_KATEGORIE.LEISTUNGSWERT FROM SYSDBP.DBP_KATEGORIE WHERE ID = 1) THEN 'P' ELSE '' END) AS LEI_PRUE
Holger |
Re: Berechnetes Feld in TQuery
Bei Oracle weiß ich es nicht genau, aber das SQL-Case arbeitet AFAIK ähnlich dem Delphi-Case, d.h. Du musst zum Vergleichen Konstanten verwenden. Deshalb geht das so nicht. Ich überlege aber gerade, wie man das umformulieren könnte, ist aber (zumindest für mich) nicht ganz einfach.
|
Re: Berechnetes Feld in TQuery
Versuch mal, ob das so geht:
SQL-Code:
(CASE SIGN(SYSWVKISU.ZEITSCHEIBEN.LEIST - (SELECT SYSDBP.DBP_KATEGORIE.LEISTUNGSWERT
FROM SYSDBP.DBP_KATEGORIE WHERE ID = 1)) WHEN 1 THEN 'P' ELSE '' END) AS LEI_PRUE |
Re: Berechnetes Feld in TQuery
Hi,
das klappt. Super danke. Aber wie berechneest Du da die 1. Du ziehst die eine Leitung von der anderen ab. Und was macht das SIGN ? Gruss Holger |
Re: Berechnetes Feld in TQuery
SIGN ermittelt das Vorzeichen. Wenn das Ergebnis der Subtraktion positiv ist, kommt eben 1 heraus, d.h. erster Wert ist größer als 2 Wert. :zwinker:
|
Re: Berechnetes Feld in TQuery
Clever,
kannst Du mir noch verraten, wie Du zwei Spalten multiplizieren würdest um dann das Ergebnis anzuzeigen ? Gruss Holger |
Re: Berechnetes Feld in TQuery
Einfach
SQL-Code:
...<Spalte1> * <Spalte2> as Erg...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 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 by Thomas Breitkreuz