Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL: Betrag ermitteln (https://www.delphipraxis.net/20186-sql-betrag-ermitteln.html)

sepp001 15. Apr 2004 12:27

Re: SQL: Betrag ermitteln
 
Hallo,

ich weiss mittlerweile ziemlich gut, was Paradox ist. Und das Produkt läuft bereits seit mehr als 5 Jahren ohne Probleme beim Kunden. Ausserdem ist es nicht meine Entscheidung, was für eine Datenbank eingesetzt wird. Das Migrieren auf eine andere Datenbank (geplant: irgendwann vielleicht mal Firebird auf Linux-Server) würde uns momentan zuviel Entwicklungszeit kosten.

Ciao,
sepp001

Leuselator 15. Apr 2004 14:21

Re: SQL: Betrag ermitteln
 
Also Sepp - wenn Du auf Paradox festgelegt bist, mußt Du wohl tricksen.
Wenn Du ein eindeutiges Schlüsselfeld hast, und Paradox "Union All" kennt, könntest folgendes versuchen:
SQL-Code:
  SELECT A.idFeld
       , max(A.DerBetrag) as Betrag

    FROM (SELECT idFeld
               , DeinWunschfeld As DerBetrag
            FROM Tabelle

           UNION ALL

          SELECT idFeld
               , (DeinWunschFeld * -1) As DerBetrag
            FROM Tabelle
       ) A
GROUP BY A.idFeld
Du selectierst id und Betrag, sowie id und negativer Betrag, vereinigst diese ergebnisse mit Union und gruppierst dann nach id (reduzierst also die gedoppelten Datensätze wieder auf einen) und holst Dir mit "max" den höchsten Wert (immer positiv).

Ende meines ParadoxLateins

Gruß

MrSpock 15. Apr 2004 21:26

Re: SQL: Betrag ermitteln
 
Hallo Sepp,

ich meine, dass Local SQL keine verschachtelten SELECTS zulässt, was aber funktioniert ist:

SQL-Code:
select CAST(TRIM(LEADING "-" FROM CAST(wert as char(10)))as integer) from test
Also einfach in String umwandeln, das - Zeichen "wegtrimmen" und zurückverwandeln).

sepp001 16. Apr 2004 14:42

Re: SQL: Betrag ermitteln
 
Hallo,

@MrSpock: Die Idee ist super, nur leider würde genau das zu einem geschachtelten SELECT führen. *ärger*

Wie gesagt, das Problenm ist bereits per Delphi gelöst.
Trotzdem vielen Dank!

Ciao,
sepp001

MrSpock 16. Apr 2004 16:41

Re: SQL: Betrag ermitteln
 
Hallo sepp001,

die Anweisung selbst ist ja noch kein verschachteltes SELECT. Es kann natürlich sein, dass du aus dieser Datenmenge etwas auswählen willst, aber auch das muss noch nicht zwangsweise in einem verschachteltes SELECT Statement geschehen.

OK, du hast es ja bereits gelöst, aber ich bin noch nicht überzeugt, dass sich dein Problem nicht mit local SQL lösen lässt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:06 Uhr.
Seite 2 von 2     12   

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