Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Ergebnis auf einen Datensatz reduzieren (https://www.delphipraxis.net/215216-ergebnis-auf-einen-datensatz-reduzieren.html)

HCB 31. Mai 2024 15:53

AW: Ergebnis auf einen Datensatz reduzieren
 
Donnerwetter! Uwe ich liebe Dich :-D
Du bist ein SQL Guru.
Vielen lieben Dank, du hast meinen Tag verschönert.
Dein SQL läuft perfekt so wie ich es mir vorgestellt - aber mangels Intelligenz nicht hin bekommen habe!

LG Harry

@Delphi.Narium
Dein Code liefert folgenden Fehler:
Von Alias 'Geliefert' verursachter Zirkelbezug in der SELECT-Liste der Abfragedefinition
Trotzdem Danke für Deine Unterstüzung.

Delphi.Narium 31. Mai 2024 16:00

AW: Ergebnis auf einen Datensatz reduzieren
 
Auch wenn's schon 'ne Lösung gibt.

Klappt das?
SQL-Code:
select
    ABFDocAuftragNr,
    ABFDocDatum,
    ABFDocKundeKurzbez,
    ABFDocSummeNetto_0,
    Sum(a_Geliefert) as Geliefert,
    Sum(a_Bestellt) as Bestellt,
    ABFPosArtNr,
    ABFPosName1
from
(
  SELECT
      ABFDocAuftragNr,
      ABFDocDatum,
      ABFDocKundeKurzbez,
      ABFDocSummeNetto_0,
      0 as a_Geliefert,
      ABFPosMenge as a_Bestellt,
      ABFPosArtNr,
      ABFPosName1
  FROM
      ABFDok
  INNER JOIN
      ABFPos ON ABFDok.ABFDocAuftragID = ABFPos.ABFPosDocID
  WHERE
      ABFDocOptFertig = false AND
      ABFDocVisType = 1 AND
      ABFPosEPreis > 0 AND
      ABFPosType IN (0, 7) AND
      ABFPosNr <> ''
  union all
  SELECT
      ABFDocAuftragNr,
      ABFDocDatum,
      ABFDocKundeKurzbez,
      ABFDocSummeNetto_0,
      0 as a_Geliefert,
      Sum(ABFPosMenge) as a_Bestellt,
      ABFPosArtNr,
      ABFPosName1
  FROM
      ABFDok
  INNER JOIN
      ABFPos ON ABFDok.ABFDocID = ABFPos.ABFPosdocID
  WHERE
      ABFDocOptFertig = false AND
      ABFDocVisType = 2 AND
      ABFPosEPreis > 0 AND
      ABFPosType IN (0, 7) AND
      ABFPosNr <> ''
  GROUP BY
      ABFDocAuftragNr,
      ABFDocDatum,
      ABFDocKundeKurzbez,
      ABFDocSummeNetto_0,
      ABFPosArtNr,
      ABFPosName1
) a
group by
    ABFDocAuftragNr,
    ABFDocDatum,
    ABFDocKundeKurzbez,
    ABFDocSummeNetto_0,
    ABFPosArtNr,
    ABFPosName1
ORDER BY
  ABFPosArtNr;

HCB 31. Mai 2024 16:06

AW: Ergebnis auf einen Datensatz reduzieren
 
Hallo Delphi.Narium, auch diese Abfrage bringt jetzt folgenden Fehler:

<Sie wollten eine Abfrage ausführen, die den angegebenen Ausdruck 'ABFDocDatum' nicht als Teil der Aggregatfunktion einschließt>

LG Harry

Delphi.Narium 31. Mai 2024 16:13

AW: Ergebnis auf einen Datensatz reduzieren
 
Hab's oben noch etwas angepasst, wenn's immer noch nicht klappt, lass' ich das mit dem SQL und Access besser bleiben ;-)

HCB 31. Mai 2024 16:41

AW: Ergebnis auf einen Datensatz reduzieren
 
@delphi.narium:
Jetzt läuft es ohne Fehlermeldung, aber es werden mir jetzt 42 Einträge nur mit einer Spalte (ABFDocAuftragNr) gelistet.

Ne, Ne lass das mal mit SQL und Access nicht bleiben, schließlich hast Du mir schon oft geholfen dass ich das zum Laufen bekommen habe.
Nachträglich nochmals Danke dafür.

Ich bin sicher, dass ich bald wieder auf Schwierigkeiten stoße, wo Du mir sicher wieder helfen kannst.
Alles Gute

Harry


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:46 Uhr.
Seite 3 von 3     123   

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