Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:

Autor Thema: Datenbankabfrage  (Gelesen 260 mal)

Offline blaster31

  • Neu im Forum
  • *
  • Beiträge: 20
    • Teile Beitrag
Datenbankabfrage
« am: 09. November 2018, 10:45:29 »
Hallo Zusammen,
ich benutze modified eCommerce Shopssoftware v2.0.4.2 rev 11374 dated: 2018-07-23 (Datenbank Version: "MOD_2.0.4.2").
Gibt es irgendwo fertige Datenbankabfragen, wo man für Kontrollzwecke benutzen kann.
Ich bin auf der Suche nach folgender Abfrage:
Umsatz pro Monat nach Produktekategorie die bezahlt wurden. Dabei soll das ganze 2018 ausgewertet werden.
Outputfelder: Umsatz pro Monat, Kategoriename, Monat/Jahr

Danke für die Hilfe und den Tip.
Gruss

Linkback: https://www.modified-shop.org/forum/index.php?topic=39685.0

Werbung / Banner buchen

Offline kgd

  • Experte
  • *****
  • Beiträge: 1.519
    • Teile Beitrag
    • https://www.karsta.de
Re: Datenbankabfrage
« Antwort #1 am: 09. November 2018, 11:33:14 »
Vielleicht reicht dir das schon: admin > Statistiken > Umsatzstatistik

BG kgd

Offline blaster31

  • Neu im Forum
  • *
  • Beiträge: 20
    • Teile Beitrag
Re: Datenbankabfrage
« Antwort #2 am: 09. November 2018, 13:27:48 »
Herzlichen Dank KGD,
Eingentlich wäre es besser wenn die Kartegorie auch im Output wäre, aber für den ersten Draft reicht dieses aus. Weisst Du wer mit bei einer solchen Abfrage helfen kann?

Offline vr

  • modified Team
  • *****
  • Beiträge: 2.630
    • Teile Beitrag
Re: Datenbankabfrage
« Antwort #3 am: 12. November 2018, 02:35:46 »
Hallo blaster31,

wenn Du den gleichen Artikel in mehr als einer Kategorie hast, ist die Auswertung nicht exakt ermittelbar, denn der Shop loggt nicht, aus welcher Kategorie ein Artikel bestellt wurde.

Als workaround hier eine Abfrage, die nach Monat und Kategorie gruppiert die letzten 12 Monate inkl Vergleichsmonat des Vorjahres betrachtet und die Umsatzsummen pro Monat absteigend sortiert. Bei den Kategorien habe ich, um eine eindeutige Zuordnung zwischen Artikel und Kategorie zu bekommen, immer jeweils die älteste Kategorie (kleinste ID) verwendet, kannst auch eine andere Methodik verwenden, Hauptsache eindeutig. Denn wenn Du nicht auf eine Kategorie pro Artikel einschränkst, bekommst Du falsche Summen, da dann Artikel mehrfach gezählt werden:

Code: SQL  [Auswählen]
SELECT date_format(o.date_purchased, '%Y-%m') monat, cd.categories_name kategorie, round(SUM(op.final_price), 2) umsatz
FROM orders o
JOIN orders_products op ON op.orders_id = o.orders_id
-- Artikel-Kategorienrelation auf eindeutig reduziert
JOIN (SELECT products_id, MIN(categories_id) categories_id
      FROM products_to_categories
      GROUP BY 1) p2c ON p2c.products_id = op.products_id
JOIN categories_description cd ON cd.categories_id = p2c.categories_id
-- aktueller Monat und 12 Vormonate, gleitend
WHERE date_format(o.date_purchased, '%Y-%m') >= date_format(CURRENT_DATE - INTERVAL 12 MONTH, '%Y-%m')
GROUP BY 1, 2
-- nach Zeit und Umsatz absteigend sortiert
ORDER BY 1 DESC, 3 DESC

Versandkosten und Auftragsstatus sind da noch nicht enthalten, aber möglicherweise reicht das schon für Deine Fragestellung oder gibt Dir einen Ansatz.

Grüße, Volker

Offline noRiddle

  • Experte
  • *****
  • Beiträge: 9.659
  • Geschlecht: Männlich
    • Teile Beitrag
    • Webdesign Bonn - Köln
Re: Datenbankabfrage
« Antwort #4 am: 12. November 2018, 11:46:38 »
Nice Query.
Damit man bei Mehrsprachigkeit das Ganze nicht mit mehrfachen Ergebnissen bekommt sollte man vielleicht noch nach einer Sprache filtern, sprich diese Zeile
Code: SQL  [Auswählen]
JOIN categories_description cd ON cd.categories_id = p2c.categories_id
z.B. so ergänzen
Code: SQL  [Auswählen]
JOIN categories_description cd ON cd.categories_id = p2c.categories_id AND cd.language_id = 2

Gruß,
noRiddle

600x250

Teile per facebook Teile per linkedin Teile per twitter

 


             
anything