Offene Gutscheine filtern/extrahieren

Thema wurde von Anonymous, 31. Dezember 2023 erstellt.

  1. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    20. November 2015
    Beiträge:
    1.517
    Danke erhalten:
    314
    Danke vergeben:
    1.217
    Hallo,

    für unsere Inventur benötige ich eine Übersicht, welche Gutscheine zwar schon verkauft sind aber noch nicht eingelöst wurden. Da die Möglichkeiten zu Gutscheinen im Admin arg begrenzt sind, geht das doch sicher auch irgendwie als DB Abfrage? Wenn ich nur wüsste, wie...

    Kann ich auch irgendwie auf diese Art ersehen, welche Gutscheine in diesem Jahr verkauft wurden?

    Bin für jeden Tipp dankbar.

    Beste Grüße und einen guten Rutsch

    Florian
     
  2. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    17. Oktober 2018
    Beiträge:
    140
    Danke erhalten:
    78
    Danke vergeben:
    18
    #2 Anonymous, 9. Januar 2024
    Zuletzt bearbeitet: 9. Januar 2024
    Hallo @FlorianR

    Da ich mit dem Gutscheinsystem von gambio weniger vertraut bin als mit Datenbanken, erstmal eine Verständnisfrage:
    Du verkaufst Gutscheine (als Artikel, Dienstleistung mit Artikelnr. GIFT_), die dann unter Gutscheine > Gutscheine Queue: Gutschein Freigabe Warteschlange oder gar automatisch freigegeben werden. Die gelten dann als verkauft. Habe ich das so richtig verstanden?

    P.S. Check mal den Einsatz der Schriftart "Maven Pro" auf matchchashop.de: Bei meinem Besuch eben wurde dazu keine Fontdatei geladen und deshalb an manchen Stellen (die kein sans-serif Fallback erben/haben, z.B. <h1>) eine Ersatzschriftart angezeigt. Und "Times" sieht in Deinem schönen Shop nun wirklich nicht gut oder passend aus.
     
  3. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    20. November 2015
    Beiträge:
    1.517
    Danke erhalten:
    314
    Danke vergeben:
    1.217
    Ja genau. Und da würde ich gerne irgendwie eine Übersicht rausziehen, welche noch nicht eingelöst sind, ohne jeden einzeln anklicken zu müssen.

    OK; danke für den Hinweis. Wundert mich, dass da was nicht stimmt, ist mir noch nie aufgefallen und kann ich auch auf keinem Mobilgerät, PC und Browser reproduzieren - auch mit gelöschten Browsercaches nicht. Sicher, dass Dein Internet nicht klemmt und die Dateien nicht übertragen wurden?
     
  4. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    17. Oktober 2018
    Beiträge:
    140
    Danke erhalten:
    78
    Danke vergeben:
    18
    #4 Anonymous, 15. Januar 2024
    Zuletzt bearbeitet: 15. Januar 2024
    Hallo Florian,

    nachfolgend habe ich Dir eine Abfrage auf die Tabelle coupons. Den Spalten im Ergebnis habe ich teilw. aussagekräftigere Namen gegeben. Es werden auch diejenigen Gutscheincodes zurückgegeben, die nicht als Artikel verkauft, sondern direkt per Gutscheine > Gutschein E-Mail versendet wurden; könnte man noch wegfiltern.
    Code:
    SELECT
        coupon_id,
        coupon_code AS 'Code',
        coupon_amount AS '(Rest-)Wert',
        date_created AS 'Datum Email gesendet',
        date_modified AS 'Datum letzte Buchung'
    FROM coupons
    WHERE
        coupon_type = 'G' AND
        coupon_active = 'Y' AND
        coupon_amount > 0
    ;
    Ich bitte um Dein Feedback. Ich weiß natürlich nicht, ob das schon Deine Anforderungen erfüllt oder Du weitere Datenfelder dazu benötigst.

    P.S. Das Fontproblem besteht weiter in verschiedenen Browsern/Endgeräten. Internet klemmt nicht - die Font Files wurden nicht übertragen, da es dazu keine Anfrage an den Webserver gibt.
     
  5. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    20. November 2015
    Beiträge:
    1.517
    Danke erhalten:
    314
    Danke vergeben:
    1.217
    Das ist schon ziemlich cool, vielen Dank.

    Ob ein Gutschein bereits eingelöst wurde, kann ich ja da ganz einfach ersehen, wenn die beiden Datumsangaben identisch sind.

    Es ist aber wahrscheinlich nur schwer möglich, auch die Bestellnummer herauszufinden, bei der ein Gutschein eingelöst wurde?

    Mittlerweile habe ich das dann doch händisch erledigt, meine Liste sieht so aus:

    upload_2024-1-15_14-43-14.png

    aber für die kommenden Analysen ist das super hilfreich, vielen Dank.
     
  6. Dominik Späte
    Dominik Späte Erfahrener Benutzer
    Registriert seit:
    16. Oktober 2018
    Beiträge:
    1.251
    Danke erhalten:
    1.141
    Danke vergeben:
    391
    Probier's mal bitte damit:

    Code:
    SELECT
        coupon_id,
        coupon_code AS 'Code',
        coupon_amount AS '(Rest-)Wert',
        date_created AS 'Datum Email gesendet',
        date_modified AS 'Datum letzte Buchung',
        (SELECT GROUP_CONCAT(orders_id SEPARATOR ', ') FROM `coupon_gv_redeem_track` WHERE coupon_code=coupons.coupon_code GROUP BY coupon_code) AS 'Bestellnummer(n)'
    FROM coupons
    WHERE
        coupon_type = 'G' AND
        coupon_active = 'Y' AND
        coupon_amount > 0
    ;
    
    Auf Deinem Screenshot sieht es aber mehr nach Rechnungs- als nach Bestellnummer aus...?
     
  7. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    20. November 2015
    Beiträge:
    1.517
    Danke erhalten:
    314
    Danke vergeben:
    1.217
    Top, vielen Dank an euch beide, das ist extrem hilfreich und spart Unmengen an Zeit.

    Ja, die Liste ist für meine Steuerberaterin, die kann nichts mit Bestellnummern anfangen, sondern braucht die Rechnungsnummer. Daher ordne ich die Bestellnummer der zugehörigen Rechnungsnummer von Hand zu. Da die Rechnungen mit Billbee erstellt werden, krieg ich die nicht aus dem Shop extrahiert.
     
  8. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    17. Oktober 2018
    Beiträge:
    140
    Danke erhalten:
    78
    Danke vergeben:
    18
    #8 Anonymous, 15. Januar 2024
    Zuletzt bearbeitet: 15. Januar 2024
    Ähnliches Ergebnis mit nem JOIN ;-)
    Code:
    SELECT
        c.coupon_id AS 'Id',
        c.coupon_code AS 'Code',
        c.coupon_amount AS '(Rest-)Wert',
        c.date_created AS 'Datum Erstellung',
        c.date_modified AS 'Datum letzte Buchung',
        cr.orders_id AS 'Bestellnr.'
    FROM coupons c
    LEFT JOIN coupon_gv_redeem_track cr ON c.coupon_code=cr.coupon_code
    WHERE
        coupon_type = 'G' AND
        coupon_active = 'Y' AND
        coupon_amount > 0
    ;
    Ne, aber man könnte was über das Billbee-API holen oder ein Look-Up machen auf einem CSV-Export der Billbee Aufträge. Lohnt sich vielleicht, wenn's viele sind.
     
  9. Dominik Späte
    Dominik Späte Erfahrener Benutzer
    Registriert seit:
    16. Oktober 2018
    Beiträge:
    1.251
    Danke erhalten:
    1.141
    Danke vergeben:
    391
    Ja, sieht bisschen eleganter aus :) Ich bin mir aber nicht sicher, ob es nicht mehrere Bestellnummern zu einer Einlösung geben kann. Das gäbe dann mehrere Zeilen mit demselben Coupon. Wenn man das nicht möchte, wäre es eine Option, das
    GROUP_CONCAT und GROUP BY aus meinem Statement mit aufzunehmen.
     
  10. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    20. November 2015
    Beiträge:
    1.517
    Danke erhalten:
    314
    Danke vergeben:
    1.217
    Ach, danke, aber in 23 hatte ich keine 30 Gutscheine, das mache ich dann mit der Zuordnung händisch. Vielleicht werden es ja in 24 und später mehr, dann denke ich mal über die API Abfrage nach :)
     
  11. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    20. November 2015
    Beiträge:
    1.517
    Danke erhalten:
    314
    Danke vergeben:
    1.217
    Hi Pepe, Stavros von Xycons macht das ganze Design für den Shop. Habe ihm das gesagt, was Du geschrieben hast. Er sagt, dass die Fonts bei ihm ohne Probleme laden und auch im Quellcode erscheinen (ich hab ja selbst auch keine Auffälligkeiten gefunden). Hast Du zufällig mal eine genaue Seite, auf der die Fonts nicht geladen werden? Dann hake ich da nochmal nach.

    Danke!
     
  12. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    20. November 2015
    Beiträge:
    1.517
    Danke erhalten:
    314
    Danke vergeben:
    1.217
    Ich muss das Thema noch mal hervorholen.... es werden durch die Abfragen leider nicht alle Gutscheine angezeigt. Die, die den Wert 0 Euro haben, fehlen bei der SQL Abfrage. Habe aus dem SQL die Zeile

    Code:
    coupon_amount > 0
    auf

    Code:
    coupon_amount > -1 
    geändert, aber dennoch fehlen die Gutscheine in der Abfrage, die gerade auf 0 Euro stehen. Hier ein Screenshot des Gutscheinmoduls aus meinem Shop:

    upload_2024-1-26_20-34-15.png

    Die Gutscheine, die dort mit 0 Euro stehen, tauchen bei der SQL Abfrage leider nicht auf.

    Was kann ich tun?

    Danke
    Florian
     
  13. Dominik Späte
    Dominik Späte Erfahrener Benutzer
    Registriert seit:
    16. Oktober 2018
    Beiträge:
    1.251
    Danke erhalten:
    1.141
    Danke vergeben:
    391
    Könnten die dann inaktiv sein, also coupon_active='N' haben? Dann würde ich evtl. einfach mal
    Code:
    WHERE
       coupon_type = 'G' AND
       coupon_active = 'Y' AND
       coupon_amount > 0
    ändern in

    Code:
    WHERE
       coupon_type = 'G'
    um die beiden Einschränkungen rauszunehmen.
     
  14. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    20. November 2015
    Beiträge:
    1.517
    Danke erhalten:
    314
    Danke vergeben:
    1.217
    Dank, @Dominik Späte, das sieht nun super aus und damit kann ich arbeiten!
     
  15. Anonymous
    Anonymous Erfahrener Benutzer
    Registriert seit:
    17. Oktober 2018
    Beiträge:
    140
    Danke erhalten:
    78
    Danke vergeben:
    18
    Für mich formulieren die ersten beiden Anforderungen, etwas anderes als die letzte. :rolleyes: Deshalb war meine Abfrage wohl etwas überspezifisch.

    Schön, dass @Dominik Späte so aktiv im Forum und schnell ist und Dir schon helfen konnte.