Neu Eigene Übersicht Artikel - Verkauft, Retoure, Bemerkung

Impexum

Aktives Mitglied
10. April 2021
5
1
Hallo,

Ich versuche seit geraume Zeit in dem Feld "Eigene Übersicht" eine Tabelle von dem ausgewählten Artikel zu erstellen, mit den folgenden 3 Spalten:

1. Wie viele Artikel bereits verkauft & verschickt wurden
2. Wie viele Rechnungskorrekturen für den Artikel erstellt wurden (also wie oft der Artikel zurück geschickt wurde)
3. Die "Anmerkungen" die ich bei der Erstellung von der Rechnungskorrektur in das Feld eintragen Kann (Rechnungskorrektur->tap"text"->Anmerkung)


Für erstens konnte ich bereits diese Lösung im Forum finden, jedoch weiß ich nicht, wie ich 2 & 3 hinbekomme.
SELECT ROUND(ISNULL(SUM(tbestellpos.nAnzahl), 0.0), 2) AS 'Verkaufte Menge'
FROM dbo.tbestellpos
JOIN dbo.tBestellung ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tBestellung.cType = 'B' -- Nur Aufträge beachten, keine Angebote und Umlagerungen

Ziel ist es, schnell zu sehen, welche Artikel sich gut verkaufen, aber auch welche Artikel warum und wie oft zurückkommen.

Vielen Dank
 
  • Gefällt mir
Reaktionen: FRA2009

M_P

Sehr aktives Mitglied
16. Oktober 2014
257
58
wie sollen denn die unterschiedlichen Anmerkungen in der Tabelle angezeigt werden und was steht dann in Spalte 1 und 2? Immer wieder der selbe "Max-Wert" als Summe oder nach was soll das gruppiert werden?
 

Impexum

Aktives Mitglied
10. April 2021
5
1
Die Tabelle sollte wie im Bild funktionieren, aber wie ihr seht, wird sie nicht richtig angezeigt. Die verkaufte Menge stimmt, jedoch ist die Gutschriftmenge sehr unrealistisch. Ich kann ja nicht mehr gutgeschrieben haben als verkauft wurde. Es muss also ein Fehler in meinem SQL-Code sein. Könnte mir jemand sagen, wo der Fehler liegt? Ich möchte einfach nur wissen, wie oft der Artikel verkauft wurde und wie oft er zurückgeschickt wurde, um fehlerhafte Artikel vorzeitig entfernen zu können.



SELECT
tPlattform.cName AS Plattform,
ROUND(ISNULL(SUM(tbestellpos.nAnzahl), 0.0), 2) AS 'Verkaufte Menge', -- Sold Quantity
ROUND(ISNULL(SUM(tgutschriftpos.nAnzahl), 0.0), 2) AS 'Gutschriften Menge' -- Refunded Quantity
FROM dbo.tbestellpos
JOIN dbo.tBestellung ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
JOIN dbo.tPlattform ON tBestellung.nPlatform = tPlattform.nPlattform
LEFT JOIN dbo.tGutschriftPos ON tbestellpos.tArtikel_kArtikel = tgutschriftpos.tArtikel_kArtikel
LEFT JOIN dbo.tGutschrift ON tgutschriftpos.tGutschrift_kGutschrift = tgutschrift.kGutschrift
WHERE
tbestellpos.tArtikel_kArtikel = @Key -- Filter for specific article key
AND tBestellung.nStorno = 0 -- Exclude canceled orders
AND tBestellung.cType = 'B' -- Only include completed orders
AND (tgutschrift.nStorno = 0 OR tgutschrift.nStorno IS NULL) -- Only include valid credit notes
GROUP BY tPlattform.cName
ORDER BY tPlattform.cName;
 

Anhänge

  • Screenshot 2025-03-17 at 13.36.18.png
    Screenshot 2025-03-17 at 13.36.18.png
    42,4 KB · Aufrufe: 19

frankell

Sehr aktives Mitglied
9. September 2019
2.676
840
Flensburg
Hallo @Impexum,

auf den ersten Blick würde ich vermuten, dass es deutlich einfacher geht. In der Tabelle Verkauf.tAuftragPosition gibt es drei Spalten, die wahrscheinlich hinreichend aussagekräftig sind: fAnzahlOffen, fAnzahlGeliefert und fAnzahlGutgeschrieben

Da sind dann auch keine JOINs notwendig, wo ja immer die Gefahr besteht, dass damit mehrfach gezählt wird, wenn man sie nicht richtig einsetzt.
 

Impexum

Aktives Mitglied
10. April 2021
5
1
Ok Danke für die Antwort, ich bin hier, aber leider echt am Ende meines Wissens. Ich habe inzwischen bestimmt 20 verschiedene Codes ausprobiert – alle fehlerhaft. Entweder zählt er es doppelt oder schreibt die Rückgabe in jede Plattform gleich (wobei die Zahl auch nicht stimmt) und hat ungültige Spaltennamen.

Ich würde die Codes ungern teilen, um das Forum nicht mit fehlerhaften Lösungen zu spammen. Könnte mir jemand sagen, wie ich den Code richtig schreiben kann? Ich kann mir vorstellen, dass die Lösung auch für andere interessant ist.

Das war der zuletzt verwendete Code. Allerdings werden hier, wie im Screenshot, die Plattformen identisch aufgelistet, und die Zahl 1 stimmt nicht einmal. Das Ergebnis hätte 7 Gutschriften bei ebay.de sein müssen. Bei alle anderen 0.
SELECT
tPlattform.cName AS Plattform,
ROUND(ISNULL(SUM(tbestellpos.nAnzahl), 0.0), 2) AS 'Verkaufte Menge',
ROUND(ISNULL(
(SELECT SUM(DISTINCT tg.nAnzahl)
FROM dbo.tgutschriftpos tg
JOIN dbo.tgutschrift g ON tg.tGutschrift_kGutschrift = g.kGutschrift
WHERE tg.tArtikel_kArtikel = tbestellpos.tArtikel_kArtikel
AND (g.nStorno = 0 OR g.nStorno IS NULL)), 0.0), 2) AS 'Gutschriften Menge'
FROM dbo.tbestellpos
JOIN dbo.tBestellung ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
JOIN dbo.tPlattform ON tBestellung.nPlatform = tPlattform.nPlattform
WHERE
tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tBestellung.cType = 'B' -- Nur Aufträge beachten, keine Angebote und Umlagerungen
GROUP BY tPlattform.cName, tbestellpos.tArtikel_kArtikel
ORDER BY tPlattform.cName;

Vielen Dank!
 

Anhänge

  • Screenshot 2025-03-17 at 21.19.33.png
    Screenshot 2025-03-17 at 21.19.33.png
    161,3 KB · Aufrufe: 17

frankell

Sehr aktives Mitglied
9. September 2019
2.676
840
Flensburg
Meine gute Tat für heute:

SQL:
WITH P AS(
    SELECT
        nPlattform,
        cName
    FROM
        tPlattform
)
SELECT
    (SELECT cName FROM P WHERE nPlattform = A.kPlattform) AS Plattform,
    SUM(AP.fAnzahlGeliefert) AS Geliefert,
    SUM(AP.fAnzahlGutgeschrieben) AS Gutgeschrieben
FROM
    Verkauf.tAuftragPositionEckdaten AS AP
    JOIN Verkauf.tAuftrag AS A ON AP.kAuftrag = A.kAuftrag
WHERE
    AP.kArtikel = @Key
GROUP BY
    A.kPlattform
 

Impexum

Aktives Mitglied
10. April 2021
5
1
Wow, danke! Super.

Das sieht gar nicht so komplex aus wie mein Code haha. Allerdings stimmt das Ergebnis nicht. Ich habe versucht, Stornierungen auszuschließen, aber erhalte trotzdem das gleiche Resultat.

Im besten Fall sollten nur Rückgaben/Gutschriften gezählt werden. Ich habe den Code angepasst, aber komme trotzdem auf das gleiche Ergebnis.

WITH P AS (
SELECT
nPlattform,
cName
FROM
tPlattform
)
SELECT
(SELECT cName FROM P WHERE nPlattform = A.kPlattform) AS Plattform,
SUM(AP.fAnzahlGeliefert) AS Geliefert,
SUM(CASE WHEN A.nStorno = 0 OR A.nStorno IS NULL THEN AP.fAnzahlGutgeschrieben ELSE 0 END) AS Gutgeschrieben
FROM
Verkauf.tAuftragPositionEckdaten AS AP
JOIN Verkauf.tAuftrag AS A ON AP.kAuftrag = A.kAuftrag
WHERE
AP.kArtikel = @Key
GROUP BY
A.kPlattform;
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Eigene Felder in ZUGFeRD integrieren User helfen Usern - Fragen zu JTL-Wawi 0
Neu Eigene Umsatzsteuer-ID fehlt oft in Aufträgen JTL-Wawi - Fehler und Bugs 3
Neu Kind-Artikel nicht bei Ebay anbieten Allgemeine Fragen zu JTL-Shop 1
Beantwortet [Shop 5.7.2 / Wawi 2.0.5] GPSR-Daten werden am Artikel nicht angezeigt trotz korrekter Übertragung und installiertem Plugin Allgemeine Fragen zu JTL-Shop 1
Neu Anzeige Alle Artikel mit Kategorieanzeige linke Menüleiste Allgemeine Fragen zu JTL-Shop 9
Neu Amazon: Artikel-Highlight / Produkttitel auf 75 Zeichen begrenzt Amazon-Anbindung - Fehler und Bugs 8
Neu Shop zeigt keine Artikel mehr Fehler 500 Betrieb / Pflege von JTL-Shop 9
Amazon Artikel-Highlights JTL-Wawi 1.7 1
JTL Wawi 1.11. - Fenstergröße - Artikel auf Einkaufsliste setzen JTL-Wawi 1.11 13
Exportvorlage: Auftrag nur Artikel die per Dropshipping verfügbar sind in Datei schreiben JTL-Wawi 1.11 4
Neu JTL → Shopify Connector: MappingTablesException / „Endpoint id is empty“ – betroffene Artikel aus Logs per SQL finden Shopify-Connector 2
Fehlermeldung beim Artikel erstellen JTL-Wawi 1.11 3
Probleme beim Shopify-Abgleich: Artikel trotz erfolgreichem Abgleich nicht in Shopify auffindbar JTL-Wawi 1.11 1
Neu Verkaufskanal Sichtbarkeit Zuweisung Artikel in Shopware gelöscht - Connector Bug? Shopware-Connector 1
Eigenes Feld aus Artikel auf Lagerpackliste ausgeben JTL-Wawi 1.11 1
Neu Artikel-Menü zurück Allgemeine Fragen zu JTL-Shop 1
JTL Artikel-Maske leer/verschoben (1.11.7) JTL-Wawi 1.11 2
Neu Ein Artikel in der Kategorie Allgemeine Fragen zu JTL-Shop 5
Neu nicht lieferbare Artikel aus Bestellung wieder auf die Einkaufsliste setzen ?! User helfen Usern - Fragen zu JTL-Wawi 1
Neu Streichpreise oder Rabatte für Staffelpreise von einem Artikel einrichten? Wie am Besten? JTL-Wawi 1.6 0

Ähnliche Themen