[gelöst]Join and SUM
Moderator: Moderatoren
[gelöst]Join and SUM
nabend,
komme hier leider auf keinen grünen Zweig...
hab hier mal zwei Test-Tabellen gemacht als Beispiel. mit diesem Join schrumpfen die Tabellen auf das wesentliche. Jetzt zu meine Frage.
Wie bekomme ich ein SUM auf die Spalte Preis, damit ich solch ein Ergebnis hätte? Summe1 ist der Gesamtpreis von Position1 sowie der Gesamtpreis von Position2
Summe2 Stck*Gesamtpreis von Position1 sowie Stck*Gesamtpreis von Position2
ginge so was zu machen?
Ich bekomme bei meinen versuchen entweder ein Fehler oder die Summe der ganzen Spalte Preis...
gruß marc
komme hier leider auf keinen grünen Zweig...
hab hier mal zwei Test-Tabellen gemacht als Beispiel. mit diesem Join schrumpfen die Tabellen auf das wesentliche. Jetzt zu meine Frage.
Wie bekomme ich ein SUM auf die Spalte Preis, damit ich solch ein Ergebnis hätte? Summe1 ist der Gesamtpreis von Position1 sowie der Gesamtpreis von Position2
Summe2 Stck*Gesamtpreis von Position1 sowie Stck*Gesamtpreis von Position2
ginge so was zu machen?
Ich bekomme bei meinen versuchen entweder ein Fehler oder die Summe der ganzen Spalte Preis...
gruß marc
Zuletzt geändert von marc 70 am So, 08.09.2013 01:17, insgesamt 1-mal geändert.
AOO411m6(Build:9775) unter WIN7 64bit
Re: Join and SUM
Hallo Marc,
du bist im falschen Forum, OOo Base / SQL wäre richtig.
Wie wäre es, wenn Du deine Beispieldatei(en), statt der Bilder hochladen würdest?
Gruß R
du bist im falschen Forum, OOo Base / SQL wäre richtig.
Sicher, aber es wird keiner Lust haben, deine Daten nachzutippen.marc 70 hat geschrieben:ginge so was zu machen?
Wie wäre es, wenn Du deine Beispieldatei(en), statt der Bilder hochladen würdest?
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Join and SUM
Sorry, nach Basic und Java sollte es natürlich nicht hin.
AOO400m3(Build:9702)
HSQLDB
AOO400m3(Build:9702)
HSQLDB
Hast recht, macht Sinn:Wie wäre es, wenn Du deine Beispieldatei(en), statt der Bilder hochladen würdest?
Code: Alles auswählen
SELECT "Position", "Stck", "Ware", "Preis", "KundenID"
FROM "Tabelle1" INNER JOIN "Tabelle2" ON "Tabelle1"."AuftragID" = "Tabelle2"."AuftragID"
WHERE "Tabelle1"."AuftragID" = 200
- Dateianhänge
-
- test.odb
- (4.64 KiB) 101-mal heruntergeladen
AOO411m6(Build:9775) unter WIN7 64bit
Re: Join and SUM
Hi,
OK, das sieht übel aus, ist auch nur das Ergebnis rekusiven Einsetzens.
Hier die Datei:
Mit drei Abfragen gehts leicht.
Gruß R
Code: Alles auswählen
SELECT "Abfrage1"."Position", "Abfrage1"."Stck", "Abfrage1"."Ware", "Abfrage1"."Preis", "Abfrage1"."Stck_Preis", "Abfrage1"."KundenID", "Abfrage2"."Summe1", "Abfrage2"."Summe2" FROM ( SELECT "Tabelle1"."Position", "Tabelle1"."Stck", "Tabelle1"."Ware", "Tabelle1"."Preis", "Stck" * "Preis" AS "Stck_Preis", "Tabelle2"."KundenID" FROM "Tabelle1", "Tabelle2" WHERE "Tabelle1"."AuftragID" = "Tabelle2"."AuftragID" AND "Tabelle1"."AuftragID" = 200 ) "Abfrage1" JOIN ( SELECT "Position", SUM( "Preis" ) AS "Summe1", SUM( "Stck_Preis" ) AS "Summe2" FROM ( SELECT "Tabelle1"."Position", "Tabelle1"."Stck", "Tabelle1"."Ware", "Tabelle1"."Preis", "Stck" * "Preis" AS "Stck_Preis", "Tabelle2"."KundenID" FROM "Tabelle1", "Tabelle2" WHERE "Tabelle1"."AuftragID" = "Tabelle2"."AuftragID" AND "Tabelle1"."AuftragID" = 200 ) "Abfrage1" GROUP BY "Position" ) "Abfrage2" ON "Abfrage1"."Position" = "Abfrage2"."Position"
Hier die Datei:
Mit drei Abfragen gehts leicht.
Gruß R
- Dateianhänge
-
- test.odb
- (4.71 KiB) 140-mal heruntergeladen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Join and SUM
echt klasse....funktioniert
Danke dir, für die Mühe die du dir gemacht hast.
Hätte nicht gedacht das die Abfrage so lang wird.
Gruß marc

Danke dir, für die Mühe die du dir gemacht hast.
Hätte nicht gedacht das die Abfrage so lang wird.

Gruß marc
AOO411m6(Build:9775) unter WIN7 64bit
Re: Join and SUM
Muss sie ja nicht, schau dir die drei Abfragen in der Datei an, dann wirds verständlich.
Gruß R
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: Join and SUM
Code: Alles auswählen
SELECT "Position", "Stck", "Ware", "Preis", "Stck_Preis", "KundenID", "Summe1", "Summe2" FROM "Abfrage1" JOIN "Abfrage2" ON "Abfrage1"."Position" = "Abfrage2"."Position"
Habe die Abfragen bis jetzt immer nur direkt in Basic geschrieben.
gruß marc
AOO411m6(Build:9775) unter WIN7 64bit
Re: [gelöst]Join and SUM
Hi,
Das gefällt mir am besten.
Gruß R
Code: Alles auswählen
SELECT
"AuftragID",
"Position",
"Stck",
"Ware",
"Preis",
"KundenID",
"Z"."Summe1",
"Z"."Summe2"
FROM "Tabelle1" AS "X"
JOIN "Tabelle2" AS "Y"
ON "X"."AuftragID" = "Y"."AuftragID"
JOIN
(SELECT
"AuftragID",
"Position",
SUM( "Preis" ) AS "Summe1",
SUM( "Stck" * "Preis" ) AS "Summe2"
FROM "Tabelle1"
GROUP BY
"Position",
"AuftragID")
AS "Z"
ON "X"."AuftragID" = "Z"."AuftragID"
AND "X"."Position" = "Z"."Position"
AND "X"."AuftragID" = 200
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: [gelöst]Join and SUM
Hi F3K Total,
Danke
hat es denn ein Vorteil wenn man mit weniger SELECT´s auskommt? (bei kleinen Tabellen)
gruß marc
Danke

hat es denn ein Vorteil wenn man mit weniger SELECT´s auskommt? (bei kleinen Tabellen)
gruß marc
AOO411m6(Build:9775) unter WIN7 64bit
Re: [gelöst]Join and SUM
Moin,
Ob es besser ist, die Abfragen zu trennen oder in einer Abfrage zusammenzufassen, kann ich nicht sagen.
Am schnellsten ist auf jeden Fall, wenn du die Daten nur ansehen und nicht verändern möchtest, statt der Abfragen Ansichten (Views, Bereich Tabellen) zu verwenden, denn die werden direkt an die Datenbank gesendet, ohne den Umweg über den BASE-Parser zu nehmen.
Ansichten können keine Parameter verarbeiten.
Du kannst deine Abfragen mit einem rechten Mausklick "Als Ansicht erstellen" in Ansichten überführen.
Ansichten können aber auch genauso mit dem GUI erstellt werden wie Abfragen.
Gruß R
Bei kleinen Tabellen wirst Du den Unterschied vermutlich nicht merken, bei größeren Datenmengen wirkt es sich natürlich auf die Geschwindigkeit aus, wenn man unnötig viele Datensätze abfragt.marc 70 hat geschrieben:.. hat es denn ein Vorteil wenn man mit weniger SELECT´s auskommt? (bei kleinen Tabellen)
Ob es besser ist, die Abfragen zu trennen oder in einer Abfrage zusammenzufassen, kann ich nicht sagen.
Am schnellsten ist auf jeden Fall, wenn du die Daten nur ansehen und nicht verändern möchtest, statt der Abfragen Ansichten (Views, Bereich Tabellen) zu verwenden, denn die werden direkt an die Datenbank gesendet, ohne den Umweg über den BASE-Parser zu nehmen.
Ansichten können keine Parameter verarbeiten.
Du kannst deine Abfragen mit einem rechten Mausklick "Als Ansicht erstellen" in Ansichten überführen.
Ansichten können aber auch genauso mit dem GUI erstellt werden wie Abfragen.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: [gelöst]Join and SUM
danke, für die Erklärung.
Hab übrigens deine zweite Version genommen.
gruß marc
Hab übrigens deine zweite Version genommen.

gruß marc
AOO411m6(Build:9775) unter WIN7 64bit