Neu Verkaufsmengen | nur berechnete Aufträge beachten

SLINGSHOT

Mitglied
3. November 2020
13
2
Moin,

ich finde leider keine Antwort in dem Forum deshalb der neue Thread.

Aktuell nutze ich diese Abfrage. Sie beinhaltet Produkte auf Bestellungen aber ignoriert ob diese ausgeliefert oder berechnet wurden. Ich würde die abfrage gerne ändern auf ausgelieferte oder berechnete Aufträge ändern da dies für mich wichtiger ist (Vorbestellungen möchte ich also nicht hier drin haben). Es sollen also die Verkäufe (berechnete) Menge anzeigt werden.

1611139325436.png

Vielleich kann mir hier jemand weiterhelfen?

Danke :)
 

SLINGSHOT

Mitglied
3. November 2020
13
2
Bitte stelle doch mal den SQL-Code "dieser Abfrage" mit rein.
Hier ist der SQL Code:

SELECT tPlattform.cName AS 'Plattform',
ISNULL(jAktTag.absatz, 0) AS 'Heute',
ISNULL(jGestern .absatz, 0) AS 'Gestern',
ISNULL(jAktMonat.absatz, 0) AS 'Akt. Monat',
ISNULL(jVorMonat.absatz, 0) AS 'Vormonat',
ISNULL(jLetzte30Tage.absatz, 0) AS 'Letzte 30 Tage',
ISNULL(jLetzte3Monate.absatz, 0) AS 'Letzte 3 Monate',
ISNULL(jAktJahr.absatz, 0) AS 'Akt. Jahr',
ISNULL(jLetzte365Tage.absatz, 0) AS 'Letzte 365 Tage',
ISNULL(jVorjahr.absatz, 0) AS 'Vorjahr',
ISNULL(jGesamt.absatz, 0) AS 'Gesamt'
FROM tPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND YEAR(tBestellung.dErstellt) = YEAR(getdate())
AND MONTH(tBestellung.dErstellt) = MONTH(getdate())
AND DAY(tBestellung.dErstellt) = DAY(getdate())
GROUP BY nPlatform
) as jAktTag on jAktTag.nPlatform = tPlattform.nPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND YEAR(tBestellung.dErstellt) = YEAR(DATEADD(DAY, -1, getdate()))
AND MONTH(tBestellung.dErstellt) = MONTH(DATEADD(DAY, -1, getdate()))
AND DAY(tBestellung.dErstellt) = DAY(DATEADD(DAY, -1, getdate()))
GROUP BY nPlatform
) as jGestern on jGestern.nPlatform = tPlattform.nPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND YEAR(tBestellung.dErstellt) = YEAR(getdate())
AND MONTH(tBestellung.dErstellt) = MONTH(getdate())
GROUP BY nPlatform
) as jAktMonat on jAktMonat.nPlatform = tPlattform.nPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND YEAR(tBestellung.dErstellt) = YEAR(DATEADD(MONTH, -1, getdate()))
AND MONTH(tBestellung.dErstellt) = MONTH(DATEADD(MONTH, -1, getdate()))
GROUP BY nPlatform
) as jVorMonat on jVorMonat.nPlatform = tPlattform.nPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND tBestellung.dErstellt > DATEADD(DAY, -30, getdate())
GROUP BY nPlatform
) as jLetzte30Tage on jLetzte30Tage.nPlatform = tPlattform.nPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND tBestellung.dErstellt > DATEADD(MONTH, -3, getdate())
GROUP BY nPlatform
) as jLetzte3Monate on jLetzte3Monate.nPlatform = tPlattform.nPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND YEAR(tBestellung.dErstellt) = YEAR(getdate())
GROUP BY nPlatform
) as jAktJahr on jAktJahr.nPlatform = tPlattform.nPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND tBestellung.dErstellt > DATEADD(DAY, -365, getdate())
GROUP BY nPlatform
) as jLetzte365Tage on jLetzte365Tage.nPlatform = tPlattform.nPlattform
LEFT JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND YEAR(tBestellung.dErstellt) = YEAR(DATEADD(YEAR, -1, getdate()))
GROUP BY nPlatform
) as jVorjahr on jVorjahr.nPlatform = tPlattform.nPlattform
JOIN (
SELECT nPlatform,
ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
GROUP BY nPlatform
) as jGesamt on jGesamt.nPlatform = tPlattform.nPlattform
WHERE tPlattform.cName NOT IN ('XML-Import', 'Amazon.com.mx') -- XML-Import und Amazon Mexiko wollen wir exemplarisch ausschliessen
UNION
SELECT 'Alle Plattformen' AS 'Plattform',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND YEAR(tBestellung.dErstellt) = YEAR(getdate())
AND MONTH(tBestellung.dErstellt) = MONTH(getdate())
AND DAY(tBestellung.dErstellt) = DAY(getdate())) as 'Heute',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND YEAR(tBestellung.dErstellt) = YEAR(DATEADD(DAY, -1, getdate()))
AND MONTH(tBestellung.dErstellt) = MONTH(DATEADD(DAY, -1, getdate()))
AND DAY(tBestellung.dErstellt) = DAY(DATEADD(DAY, -1, getdate()))) as 'Gestern',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND YEAR(tBestellung.dErstellt) = YEAR(getdate())
AND MONTH(tBestellung.dErstellt) = MONTH(getdate())) as 'Akt. Monat',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND YEAR(tBestellung.dErstellt) = YEAR(DATEADD(MONTH, -1, getdate()))
AND MONTH(tBestellung.dErstellt) = MONTH(DATEADD(MONTH, -1, getdate()))) as 'Vormonat',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tbestellung.cType = 'B'
AND tBestellung.dErstellt > DATEADD(DAY, -30, getdate())) as 'Letzte 30 Tage',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tBestellung.dErstellt > DATEADD(MONTH, -3, getdate())) as 'Letzte 3 Monate',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND YEAR(tBestellung.dErstellt) = YEAR(getdate())) as 'Akt. Jahr',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND tBestellung.dErstellt > DATEADD(DAY, -365, getdate())) as 'Letzte 365 Tage',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
AND YEAR(tBestellung.dErstellt) = YEAR(DATEADD(YEAR, -1, getdate()))) as 'Vorjahr',
(SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = @Key
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
) as 'Gesamt'
ORDER BY Plattform
 

SportNet

Aktives Mitglied
16. Oktober 2014
86
18
wenn bei dir " berechnet wurden " bedeutet, dass eine Rechnung erstellt wurde, kannst du in jedem Select einen Join auf tRechnung machen.

So wären dann Aufträge, die keine Rechnung haben, nicht mit in den Daten drin.
 

SLINGSHOT

Mitglied
3. November 2020
13
2
Genau das heißt es. Könntest du mir vielleicht ein Beispiel geben damit ich weiß wie das auszusehen hat?

Vielen Dank schon mal!
 

SportNet

Aktives Mitglied
16. Oktober 2014
86
18
Ergänze in jeder Berechnung folgendes: join trechnung on trechnung.tBestellung_kBestellung = tBestellung.kBestellung

hier ein Beispiel:


SQL:
SELECT ROUND(CONVERT(FLOAT, ISNULL(SUM(tbestellpos.nAnzahl), 0.0)), 2) AS absatz
FROM tbestellung
JOIN tbestellpos ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
join trechnung on trechnung.tBestellung_kBestellung = tBestellung.kBestellung
WHERE tbestellpos.tArtikel_kArtikel = 34816
AND tbestellung.cType = 'B'
AND tBestellung.nStorno = 0 -- Stornierte Aufträge nicht beachten
Bedenke aber auch, dass das die Zahlen VOR "Gutschriften" sind. Daher wenn ein KD etwas retourniert, müsste man dies ggf. wieder abziehen.
 

SLINGSHOT

Mitglied
3. November 2020
13
2
Perfekt das hat geklappt! Vielen vielen Dank für die Hilfe!

Gutschriften interessieren mich weniger da wir als Vertrieb/Großhandel tätig sind und somit wenig Gutschriften erstellen.

Ein kleines Manko gibt es aber das ist nicht soo schlimm. Die Auswertung bezieht sich auf das Auftragsdatum und nicht auf das Rechnungsdatum. Gibt's da noch irgendeine Möglichkeit das noch einzustellen?

Nochmals vielen Dank!
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu JTL-Shop 5.0.1 - Registrierung Rechnungsadresse anzeige NUR der Länder nach der GEO-BlockingVerordnung und NICHT der ganzen Welt, wie? Allgemeine Fragen zu JTL-Shop 4
Neu Nur Artikel mit Sonderpreis exportieren User helfen Usern - Fragen zu JTL-Wawi 0
Neu Nur bestimmte Artikel auf Startseite anzeigen Allgemeine Fragen zu JTL-Shop 2
Neu Connector synchronisiert nur in eine Richtung WooCommerce-Connector 6
Neu Amazon Fehler 8105 raubt mir den Nerv – ungültige Werte, nur welche? Amazon-Lister - Fehler und Bugs 1
Neu Gutschein nur bis 5,- obwohl gültige Lizenz? Fragen rund um LS-POS 3
Neu Buchen von Eingangsrechnungen: "Nur gelieferte Positionen übernehmen" JTL-Ameise - Ideen, Lob und Kritik 2
Neu Artikeletikette wir nur 1x gedruckt Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
In Bearbeitung Auftrag nur Anzahlung , weil in POS Betrag geglättet. JTL-POS - Fehler und Bugs 4
Beantwortet NOVA unter JTL Shop 5 zeigt auf Startseite nur Header und Footer JTL-Shop - Fehler und Bugs 2
Zugriff nur als angemeldeter Nutzer Einrichtung JTL-Shop5 4
Neu Versandkosten werden nur noch für neu angelegte Artikel berechnet Onlineshop-Anbindung 1
Neu Dropshipping nur für bestimmte Artikel User helfen Usern - Fragen zu JTL-Wawi 13
Neu Geister Artikel, nur über "Artikel zuordnen" sichtbar JTL-Wawi - Fehler und Bugs 2
Neu Objekt nur einmal anzeigen lassen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Neu Shop5 nur für spezielle Kundengruppe zugänglich Allgemeine Fragen zu JTL-Shop 2
Neu Conversion Tracking mit Webstollen PlugIn "Google Tracking" funktioniert nur sporadisch Plugins für JTL-Shop 2
Neu DHL International nach GB/UK nur Probleme Smalltalk 0
Neu OPC Video wird nur manchmal im Backend angezeigt JTL-Shop - Fehler und Bugs 0
Installation erfolgreich, aber OnpageComposer gibt nur Fehler aus Einrichtung JTL-Shop5 2
Neu EAN Code auch für Väter oder nur für Kinder? User helfen Usern - Fragen zu JTL-Wawi 3
Neu Lieferzeit: Nur Abholung WooCommerce-Connector 0
In Diskussion Verwiegen / manuelle Gewichtsangabe nur in Packtisch? JTL-ShippingLabels - Ideen, Lob und Kritik 0
Neu Hersteller werden nur teilweise in Pickliste übernommen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Es wird nur eine Sendungsnummer zum Shop übertragen Shopware-Connector 0
Neu Freipositionen haben beim Erzeugen 16% Ust. (nur bei bestimmten Rechnern) JTL-Wawi - Fehler und Bugs 3
In Diskussion DPD Cloud und Mehrpaketsendungen (damit nur noch eine Rechnung auf das erste Paket muss) JTL-ShippingLabels - Ideen, Lob und Kritik 0
Neu Warnung Meldung: stücklisten können immer nur einzeln im warenkorb liegen Fragen rund um LS-POS 8
Neu Versandkostenfrei nur Deutschland WooCommerce-Connector 0
Neu JTL Shop 4 - Versandart Abholung nur Barzahlung -> Kunde kann trotzdem mit PayPal zahlen JTL-Shop - Fehler und Bugs 2
Neu Unterkategorien nur für bestimmte Kategorien aktivieren? Allgemeine Fragen zu JTL-Shop 3
In Bearbeitung Swissbit TSE nur von JTL nutzbar? JTL-POS - Fragen zu Hardware 4
Angebote auf Startseite anzeigen wenn nur ein paar Kinderartikel rabattiert sind Einrichtung JTL-Shop5 0
Abgelehnt Idee - "Kleines" WMS nur mit Leserechten JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 7
Neu Nur Variationskombinationen anzeigen Allgemeine Fragen zu JTL-Shop 2
Beantwortet JTL Workflow - Aktion - Export über Ameise nur der eine Datensatz JTL-Workflows - Ideen, Lob und Kritik 2
Neu Shop5 SMTP Mails kommen nur unzuverlässig an JTL-Shop - Fehler und Bugs 3
Beantwortet JTL 5 - Es wird nur eine Mediendatei angezeigt JTL-Shop - Fehler und Bugs 2
In Bearbeitung Bon Mail: von $header$ wird nur die erste Zeile ausgegeben JTL-POS - Fehler und Bugs 2
Neu JTL Shop 5 - Paypal Bezahlvorgang nur Weißes Bild - Switchen verschiedener Versandarten verbuggt und und und JTL-Shop - Fehler und Bugs 3
Neu Eine generelle Frage - warum sind im Editor alle Variablen in Englisch während in der JTL Dokumentation diese nur in Deutsch vorkommen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 4
Beantwortet DotLiquid: Einfache Addition scheint nur eine Verkettung zu sein JTL-Workflows - Fehler und Bugs 2
Gelöst Stückzahl teilbar funktioniert nur teilweise JTL-Wawi - Fehler und Bugs 5
Neu Eingangsrechnng kann nicht erstellt werden Alle Position nur geliferte Positionen grau Arbeitsabläufe in JTL-Wawi 1
Neu Merkmalwerte gezielt entfernen, wenn mehr als ein Merkmalwert vorhanden (eBay Problem xxx darf nur einen Wert haben) User helfen Usern - Fragen zu JTL-Wawi 0
Neu Multishop: merkmale nur in bestimmten Shops nutzen JTL-Wawi - Fehler und Bugs 4
Neu Nur den Packtisch+ öffnen? User helfen Usern - Fragen zu JTL-Wawi 4
Neu JTL Shop 5 Ladezeit 3 - 5 sek. aber JTL Shop 4 nur max. 2 Sekunden Allgemeine Fragen zu JTL-Shop 9
Neu Nur Bestände und Bestellungen abgleichen Shopify-Connector 12
Neu Listing auf Otto: BulletPoins nur noch 60 Zeichen möglich? User helfen Usern 0

Ähnliche Themen