AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Access SQL select mit berechneten Feldern?
Thema durchsuchen
Ansicht
Themen-Optionen

Access SQL select mit berechneten Feldern?

Ein Thema von HCB · begonnen am 16. Sep 2022 · letzter Beitrag vom 16. Sep 2022
Antwort Antwort
HCB

Registriert seit: 12. Feb 2020
172 Beiträge
 
Delphi 12 Athens
 
#1

Access SQL select mit berechneten Feldern?

  Alt 16. Sep 2022, 13:35
Datenbank: Access • Version: 2003 • Zugriff über: SQL / Delphi
Hallo, ich stehe momentan auf den Schlauch, ich möchte von den zwei Datensätzen die Differenz angezeigt bekommen, also 20 minus 15 = Menge 5.
Diese Abfrage funktioniert und zeigt die Datensätze:

SELECT ABFPosMenge as Menge, ABFPosArtNr as Nummer, ABFPosName1 as bezeichnung
FROM ABFPos INNER JOIN ABFDok
ON ABFPos.ABFPosAuftragID = ABFDok.ABFDocID
where ABFDok.ABFDocAuftragnr ='A021159' and ABFPosType = 0
and ABFPosArtOption <> 15;

Ergebnis:
Menge Nummer bezeichnung
Currency Text[22] Text[44]
-----------------------------------------------------------------------------------
20 1062990 Testartikel1
15 1062990 Testartikel1

Wie bekomme ich das hin, dass mir als Ergebnis 5 angezeigt wird.
Bin Neuling, vielleicht hilft mir jemand. Vielen herzlichen Dank.

Harry
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: Access SQL select mit berechneten Feldern?

  Alt 16. Sep 2022, 13:52
Mit
Code:
SUM(ABFPosMenge) as ABFPosMenge
würdest du die Summe bekommen, wenn du anhand einer weiteren Bedingung oder Feldes entscheiden kannst was von anderen abgezogen wird ginge dann:

SUM(CASE WHEN IRGENDWAS THEN ABFPosMenge ELSE -1*ABFPosMenge) as ABFPosMenge Bei beidem brauchst du natürlich unten noch ein
GROUP BY ABFPosArtNr, ABFPosName1
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#3

AW: Access SQL select mit berechneten Feldern?

  Alt 16. Sep 2022, 14:09
Jupp, wenn er bei dem zweiten Wert das Vorzeichen ändert, dann kann er SUM benutzen.

Oder eine passende Aggregate-Funktion bauen.

Oder eben die beiden Werte in einen Datensatz bekommen und da selber rechnen.
"-" , "abs" und Co.

Oder halt so ein Zeug wie die Standardabweichung benutzen.
stddev_pop(field)*2 von ein bis zwei Records müsste doch die Differenz ergeben
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (16. Sep 2022 um 14:19 Uhr)
  Mit Zitat antworten Zitat
HCB

Registriert seit: 12. Feb 2020
172 Beiträge
 
Delphi 12 Athens
 
#4

AW: Access SQL select mit berechneten Feldern?

  Alt 16. Sep 2022, 14:18
Hallo, danke euch!

Die Summe habe ich schon mal:
SELECT sum(ABFPosMenge) as Menge, ABFPosArtNr as Nummer, ABFPosName1 as bezeichnung
FROM ABFPos INNER JOIN ABFDok
ON ABFPos.ABFPosAuftragID = ABFDok.ABFDocID
where ABFDok.ABFDocAuftragnr ='A021159' and ABFPosType = 0
and ABFPosArtOption <> 15
GROUP BY ABFPosArtNr, ABFPosName1;

aber wie ich den kleinsten Wert 15 vom größeren Wert 20 abzeihen soll, damit das Ergebnis 5 erscheint ist mir leider noch nicht klar.
Ich habe es schon mit Min und Max versucht, da wirft er mir Fehlermeldungen.

Harry
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

AW: Access SQL select mit berechneten Feldern?

  Alt 16. Sep 2022, 14:21
Es ist egal, wie rum du rechnest, wenn du dir nur das "absolute" Ergebnis ansiehst.

SQL-Code:
Abs(Sum(field))


Abs(20 - 5) = 15
Abs(5 - 20) = 15
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
HCB

Registriert seit: 12. Feb 2020
172 Beiträge
 
Delphi 12 Athens
 
#6

AW: Access SQL select mit berechneten Feldern?

  Alt 16. Sep 2022, 14:29
Es soll ja das Ergebnis 5 rauskommen.

20-15 = 5

20 1062990 Testartikel1
15 1062990 Testartikel1
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#7

AW: Access SQL select mit berechneten Feldern?

  Alt 16. Sep 2022, 14:38
Formel umstellen oder Parameter tauschen ist nicht verboten.
ändert doch nichts an dem Vorgehen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.736 Beiträge
 
Delphi 6 Enterprise
 
#8

AW: Access SQL select mit berechneten Feldern?

  Alt 16. Sep 2022, 14:52
Wenn es immer zwei Werte gibt, einen groß einen klein, dann sollte es doch mit min und max gehen:

SQL-Code:
SELECT MAX(ABFPosMenge)-MIN(ABFPosMenge) as Menge, ABFPosArtNr as Nummer, ABFPosName1 as bezeichnung
FROM ABFPos INNER JOIN ABFDok
ON ABFPos.ABFPosAuftragID = ABFDok.ABFDocID
where ABFDok.ABFDocAuftragnr ='A021159and ABFPosType = 0
and ABFPosArtOption <> 15
GROUP BY ABFPosArtNr, ABFPosName1;
Ralph
  Mit Zitat antworten Zitat
HCB

Registriert seit: 12. Feb 2020
172 Beiträge
 
Delphi 12 Athens
 
#9

AW: Access SQL select mit berechneten Feldern?

  Alt 16. Sep 2022, 15:02
Ja Jumpy, vielen Dank! Das wars.
Mit Min/Max hatte ich es schon probiert, aber offensichtlich falsch.
Nochmals Danke.

LG Harry
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz