Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL-Abfrage ob ein Einzelpreis NULL ist (https://www.delphipraxis.net/180597-sql-abfrage-ob-ein-einzelpreis-null-ist.html)

jobo 2. Jun 2014 12:53

AW: SQL-Abfrage ob ein Einzelpreis NULL ist
 
Zitat:

Zitat von HolgerCW (Beitrag 1261023)

Beispiel:

STUECK PREIS
1 2€
2 0€

Ergebnis aus SUM(LB.STUECK * LB.PREIS) = 2€

Ergebnis aus SUM(NULLIF(LB.STUECK * LB.PREIS, 0)) AS PREIS_NULL auch 2€

Äh, was erwartest Du denn da? Ist doch richtig so.
Ich dachte, dass soll in einer extra Spalte geflagt werden.

HolgerCW 2. Jun 2014 13:08

AW: SQL-Abfrage ob ein Einzelpreis NULL ist
 
Wie kann ich das jetzt in mein Select-Statement einbauen ?

HolgerCW 2. Jun 2014 13:10

AW: SQL-Abfrage ob ein Einzelpreis NULL ist
 
jobo -> Das ist schon richtig. Nur müsste bei der NULLIF - Geschichte doch NULL oder 0 rauskommen, wenn beide das selbe Ergebnis liefern kann ich damit ja ncihts anfangen, oder mache ich was falsch ?

baumina 2. Jun 2014 13:25

AW: SQL-Abfrage ob ein Einzelpreis NULL ist
 
Auch wenn das jetzt zu trivial klingt, aber so wie ich dich verstehe möchtest du das hier:

SQL-Code:
SELECT ....
     , SUM(LB.STUECK * LB.PREIS) AS PREIS
     , DECODE(LB.Preis, NULL, 1,
                        0, 1 ,
                        0) AS PREISISTNULL
....
PREISISTNULL liefert nun für 0 und NULL eine 1, ansonsten eine 0.

HolgerCW 2. Jun 2014 13:33

AW: SQL-Abfrage ob ein Einzelpreis NULL ist
 
baumina -> Das würde gehen wenn es sich nicht um SUMME der Einzelpreise handeln würde.

Hier haben wir aber eine Gruppierung von Preisen. Nun will ich aus den einzelnen Gruppierungen herrausfinden in welcher der Gruppierung sich bei den Einzelpreisen NULL-Werte befunden haben.

Hat noch wer eine Idee, oder bin ich etwa auf dem Holzweg ...

p80286 2. Jun 2014 13:49

AW: SQL-Abfrage ob ein Einzelpreis NULL ist
 
Zitat:

Zitat von HolgerCW (Beitrag 1261032)
Hier haben wir aber eine Gruppierung von Preisen. Nun will ich aus den einzelnen Gruppierungen herrausfinden in welcher der Gruppierung sich bei den Einzelpreisen NULL-Werte befunden haben.

Das erreichst Du mit
Code:
select * from ...where preis is null
Aber ich vermute stark, daß Du genau das nicht willst.
Versuch doch mal zu beschreiben was Du erreichen willst.

Gruß
K-H

baumina 2. Jun 2014 14:00

AW: SQL-Abfrage ob ein Einzelpreis NULL ist
 
Ah, so langsam verstehe ich. Dann fällt mir eigentlich nur noch ein, dass du ein subselect machst a la:

SQL-Code:
Select .....,
       (Select Count(*) FROM SYSSIGMA2GML.LAGERBESTANDSBUCHUNG XX
         where ((LB.[ID] = XX.ID) and
                ((XX.Preis is null) or (XX.Preis = 0))) AS ANZNULLPREISE

Sir Rufo 2. Jun 2014 14:06

AW: SQL-Abfrage ob ein Einzelpreis NULL ist
 
Zitat:

Zitat von baumina (Beitrag 1261031)
Auch wenn das jetzt zu trivial klingt, aber so wie ich dich verstehe möchtest du das hier:

SQL-Code:
SELECT ....
     , SUM(LB.STUECK * LB.PREIS) AS PREIS
     , DECODE(LB.Preis, NULL, 1,
                        0, 1 ,
                        0) AS PREISISTNULL
....
PREISISTNULL liefert nun für 0 und NULL eine 1, ansonsten eine 0.

Wenn man vor DECODE jetzt noch ein SUM schreiben würde, dann wäre das doch die Lösung :stupid:

HolgerCW 2. Jun 2014 14:12

AW: SQL-Abfrage ob ein Einzelpreis NULL ist
 
Mit einer Unterabfrage habe ich aber dann ja keinen GROUPBY-Ausdruck mehr, aber genau sowas suche ich. Muss nur irgendwie anders gelöst werden.
Da ich ja in die Hauptabfrage nicht die ID mit reinbringen kann, da er mir dann ja die Daten nicht mehr gruppieren würde.

Was gibt es noch ?

HolgerCW 2. Jun 2014 14:17

AW: SQL-Abfrage ob ein Einzelpreis NULL ist
 
Sir Rufo -> DAS IST DIE LÖSUNG. DANKE !!!

Hier noch erweitert für NULL, 0 und 1:

Delphi-Quellcode:
SUM(DECODE(LB.PREIS, NULL, 1, 0, 1 , 0)) AS PREIS_0,
SUM(DECODE(LB.PREIS, NULL, 1, 1, 1 , 0)) AS PREIS_1,
SUM(DECODE(LB.PREIS, NULL, 1, NULL, 1 , 0)) AS PREIS_NULL


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

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