Neu Summe der Bestllungen eines Lieferanten

McFunny

Sehr aktives Mitglied
13. Dezember 2006
1.244
15
Feldkirchen bei München
Hallo,

ich benötige der Summe der Bestellungen eines Lieferanten unter Einkauf/Bestellungen.
Also Lieferant XY gewählt und dann den Filtzer gesetzt Monat, Jahr etc.

Könnte mir damit jemand helfen, da ich keinerlei Ahnung von SQL besitze.

DANKE!!!

Lieben Gruß und allen noch ein gesunden Jahr 2022Q!

Sven
 

ToJo

Sehr aktives Mitglied
19. Oktober 2018
129
59
Husum
Oder man nimmt die Statistik, dann hat man die Zahlen auch mit wenigen Klicks! ;)

Hier mal der Weg zum Ziel, alles wichtige habe ich mal rot markiert.(Achtung das ist die Version 1.6, da wurden die Bezeichnungen etwas geändert, zb.Einkauf wurde umbenannt
in Beschaffung etc.)

Screenshot (72).png

Screenshot (73).png

Und hier das Ergebnis:

Screenshot (74).png

MfG
Torsten
 

tsadeghi

Aktives Mitglied
19. April 2020
29
15
Servus!

Mit dieser SQL Abfrage erhält man
  • die Anzahl der Bestellungen insgesamt
  • Den Einkauf der letzten 30 Tage
  • Den Einkauf der letzten 60 Tage
  • Year to Date Aktuelles Jahr
  • Year to Date Vorjahr
  • Gesamteinkauf
Alles Netto, alles basierend auf dem Erstelldatum der Bestellung. Keine weiteren Filter. Kann man natürlich nach Bedarf anpassen (z.B. nur bestätigte Bestellungen, nur erhaltene Positionen etc.)


Gruß Tara

Code:
SELECT
tl.cFirma AS 'Lieferant',
COUNT(DISTINCT tlbp.kLieferantenBestellung) AS '# Bestellungen',
jLetzte30Tage.absatz AS 'Letzte 30 Tage',
jLetzte60Tage.absatz AS 'Letzte 60 Tage',
jAktuellesJahr.absatz AS 'YTD Aktuell',
jVorherigesahr.absatz AS 'YTD Vorjahr',
FORMAT((CAST((CONVERT(VARCHAR,(SUM(tlbp.fMenge * (CAST(tlbp.fEKNetto AS MONEY)))),1)) AS MONEY)), 'C', 'de-de') AS 'Gesamt (Netto)'
FROM tLieferantenBestellungPos tlbp
INNER JOIN tLieferantenBestellung tlb ON tlb.kLieferantenBestellung = tlbp.kLieferantenBestellung
INNER JOIN tlieferant tl ON tl.kLieferant = tlb.kLieferant

LEFT JOIN (
    SELECT tl.kLieferant, FORMAT((CAST((CONVERT(VARCHAR,(SUM(tlbp.fMenge * (CAST(tlbp.fEKNetto AS MONEY)))),1)) AS MONEY)), 'C', 'de-de') AS absatz
 FROM tLieferantenBestellungPos tlbp
 INNER JOIN tLieferantenBestellung tlb ON tlb.kLieferantenBestellung = tlbp.kLieferantenBestellung
 INNER JOIN tlieferant tl ON tl.kLieferant = tlb.kLieferant
    WHERE tlb.kLieferant =
   (SELECT tlb.kLieferant
    FROM tLieferantenBestellung tlb
    WHERE tlb.kLieferantenBestellung = @Key
   )
        AND tlb.dErstellt > DATEADD(DAY, -30, getdate())
    GROUP BY tl.kLieferant
) AS jLetzte30Tage ON jLetzte30Tage.kLieferant = tl.kLieferant

LEFT JOIN (
    SELECT tl.kLieferant, FORMAT((CAST((CONVERT(VARCHAR,(SUM(tlbp.fMenge * (CAST(tlbp.fEKNetto AS MONEY)))),1)) AS MONEY)), 'C', 'de-de') AS absatz
 FROM tLieferantenBestellungPos tlbp
 INNER JOIN tLieferantenBestellung tlb ON tlb.kLieferantenBestellung = tlbp.kLieferantenBestellung
 INNER JOIN tlieferant tl ON tl.kLieferant = tlb.kLieferant
    WHERE tlb.kLieferant =
   (SELECT tlb.kLieferant
    FROM tLieferantenBestellung tlb
    WHERE tlb.kLieferantenBestellung = @Key
   )
        AND tlb.dErstellt > DATEADD(DAY, -60, getdate())
    GROUP BY tl.kLieferant
) AS jLetzte60Tage ON jLetzte60Tage.kLieferant = tl.kLieferant

LEFT JOIN (
    SELECT tl.kLieferant, FORMAT((CAST((CONVERT(VARCHAR,(SUM(tlbp.fMenge * (CAST(tlbp.fEKNetto AS MONEY)))),1)) AS MONEY)), 'C', 'de-de') AS absatz
 FROM tLieferantenBestellungPos tlbp
 INNER JOIN tLieferantenBestellung tlb ON tlb.kLieferantenBestellung = tlbp.kLieferantenBestellung
 INNER JOIN tlieferant tl ON tl.kLieferant = tlb.kLieferant
    WHERE tlb.kLieferant =
   (SELECT tlb.kLieferant
    FROM tLieferantenBestellung tlb
    WHERE tlb.kLieferantenBestellung = @Key
   )
        AND tlb.dErstellt BETWEEN DATEADD(yy, DATEDIFF(yy,0,GETDATE()), 0) AND GETDATE()
    GROUP BY tl.kLieferant
) AS jAktuellesJahr ON jAktuellesJahr.kLieferant = tl.kLieferant

LEFT JOIN (
    SELECT tl.kLieferant, FORMAT((CAST((CONVERT(VARCHAR,(SUM(tlbp.fMenge * (CAST(tlbp.fEKNetto AS MONEY)))),1)) AS MONEY)), 'C', 'de-de') AS absatz
 FROM tLieferantenBestellungPos tlbp
 INNER JOIN tLieferantenBestellung tlb ON tlb.kLieferantenBestellung = tlbp.kLieferantenBestellung
 INNER JOIN tlieferant tl ON tl.kLieferant = tlb.kLieferant
    WHERE tlb.kLieferant =
   (SELECT tlb.kLieferant
    FROM tLieferantenBestellung tlb
    WHERE tlb.kLieferantenBestellung = @Key
   )
  AND tlb.dErstellt BETWEEN DATEADD(yy, -1, GETDATE())  AND DATEADD(DAY, -365, getdate())

    GROUP BY tl.kLieferant
) AS jVorherigesahr ON jVorherigesahr.kLieferant = tl.kLieferant

WHERE tlb.kLieferant = (SELECT tlb.kLieferant FROM tLieferantenBestellung tlb WHERE tlb.kLieferantenBestellung = @Key)
GROUP BY tl.cFirma, jLetzte30Tage.absatz, jLetzte60Tage.absatz, jAktuellesJahr.absatz, jVorherigesahr.absatz
 
  • Gefällt mir
Reaktionen: MichaelH

MichaelH

Sehr aktives Mitglied
17. November 2008
14.175
1.773
Super !

Statt
  • Year to Date Vorjahr
wäre Gesamtvorjahr super, deine Datumsberechnung ist mir aber zu kompliziert um selber die Syntax nachzuschlagen ... ;)
 

tsadeghi

Aktives Mitglied
19. April 2020
29
15
Hi Michael,

ich habe die Spalte zusätzlich hinzugefügt.

Code:
SELECT
tl.cFirma AS 'Lieferant',
COUNT(DISTINCT tlbp.kLieferantenBestellung) AS '# Bestellungen',
jLetzte30Tage.absatz AS 'Letzte 30 Tage',
jLetzte60Tage.absatz AS 'Letzte 60 Tage',
jAktuellYTD.absatz AS 'YTD Aktuell',
jVorjahrYTD.absatz AS 'YTD Vorjahr',
jVorjahr.absatz AS 'Gesamt Vorjahr',
FORMAT((CAST((CONVERT(VARCHAR,(SUM(tlbp.fMenge * (CAST(tlbp.fEKNetto AS MONEY)))),1)) AS MONEY)), 'C', 'de-de') AS 'Gesamt (Netto)'
FROM tLieferantenBestellungPos tlbp
INNER JOIN tLieferantenBestellung tlb ON tlb.kLieferantenBestellung = tlbp.kLieferantenBestellung
INNER JOIN tlieferant tl ON tl.kLieferant = tlb.kLieferant

LEFT JOIN (
    SELECT tl.kLieferant, FORMAT((CAST((CONVERT(VARCHAR,(SUM(tlbp.fMenge * (CAST(tlbp.fEKNetto AS MONEY)))),1)) AS MONEY)), 'C', 'de-de') AS absatz
 FROM tLieferantenBestellungPos tlbp
 INNER JOIN tLieferantenBestellung tlb ON tlb.kLieferantenBestellung = tlbp.kLieferantenBestellung
 INNER JOIN tlieferant tl ON tl.kLieferant = tlb.kLieferant
    WHERE tlb.kLieferant =
   (SELECT tlb.kLieferant
    FROM tLieferantenBestellung tlb
    WHERE tlb.kLieferantenBestellung = @Key
   )
        AND tlb.dErstellt > DATEADD(DAY, -30, getdate())
    GROUP BY tl.kLieferant
) AS jLetzte30Tage ON jLetzte30Tage.kLieferant = tl.kLieferant

LEFT JOIN (
    SELECT tl.kLieferant, FORMAT((CAST((CONVERT(VARCHAR,(SUM(tlbp.fMenge * (CAST(tlbp.fEKNetto AS MONEY)))),1)) AS MONEY)), 'C', 'de-de') AS absatz
 FROM tLieferantenBestellungPos tlbp
 INNER JOIN tLieferantenBestellung tlb ON tlb.kLieferantenBestellung = tlbp.kLieferantenBestellung
 INNER JOIN tlieferant tl ON tl.kLieferant = tlb.kLieferant
    WHERE tlb.kLieferant =
   (SELECT tlb.kLieferant
    FROM tLieferantenBestellung tlb
    WHERE tlb.kLieferantenBestellung = @Key
   )
        AND tlb.dErstellt > DATEADD(DAY, -60, getdate())
    GROUP BY tl.kLieferant
) AS jLetzte60Tage ON jLetzte60Tage.kLieferant = tl.kLieferant

LEFT JOIN (
    SELECT tl.kLieferant, FORMAT((CAST((CONVERT(VARCHAR,(SUM(tlbp.fMenge * (CAST(tlbp.fEKNetto AS MONEY)))),1)) AS MONEY)), 'C', 'de-de') AS absatz
 FROM tLieferantenBestellungPos tlbp
 INNER JOIN tLieferantenBestellung tlb ON tlb.kLieferantenBestellung = tlbp.kLieferantenBestellung
 INNER JOIN tlieferant tl ON tl.kLieferant = tlb.kLieferant
    WHERE tlb.kLieferant =
   (SELECT tlb.kLieferant
    FROM tLieferantenBestellung tlb
    WHERE tlb.kLieferantenBestellung = @Key
   )
        AND tlb.dErstellt BETWEEN DATEADD(yy, DATEDIFF(yy,0,GETDATE()), 0) AND GETDATE()
    GROUP BY tl.kLieferant
) AS jAktuellYTD ON jAktuellYTD.kLieferant = tl.kLieferant

LEFT JOIN (
    SELECT tl.kLieferant, FORMAT((CAST((CONVERT(VARCHAR,(SUM(tlbp.fMenge * (CAST(tlbp.fEKNetto AS MONEY)))),1)) AS MONEY)), 'C', 'de-de') AS absatz
 FROM tLieferantenBestellungPos tlbp
 INNER JOIN tLieferantenBestellung tlb ON tlb.kLieferantenBestellung = tlbp.kLieferantenBestellung
 INNER JOIN tlieferant tl ON tl.kLieferant = tlb.kLieferant
    WHERE tlb.kLieferant =
   (SELECT tlb.kLieferant
    FROM tLieferantenBestellung tlb
    WHERE tlb.kLieferantenBestellung = @Key
   )
  AND tlb.dErstellt BETWEEN DATEADD(yy, -1, GETDATE())  AND DATEADD(DAY, -365, getdate())

    GROUP BY tl.kLieferant
) AS jVorjahrYTD ON jVorjahrYTD.kLieferant = tl.kLieferant

LEFT JOIN (
    SELECT tl.kLieferant, FORMAT((CAST((CONVERT(VARCHAR,(SUM(tlbp.fMenge * (CAST(tlbp.fEKNetto AS MONEY)))),1)) AS MONEY)), 'C', 'de-de') AS absatz
 FROM tLieferantenBestellungPos tlbp
 INNER JOIN tLieferantenBestellung tlb ON tlb.kLieferantenBestellung = tlbp.kLieferantenBestellung
 INNER JOIN tlieferant tl ON tl.kLieferant = tlb.kLieferant
    WHERE tlb.kLieferant =
   (SELECT tlb.kLieferant
    FROM tLieferantenBestellung tlb
    WHERE tlb.kLieferantenBestellung = @Key
   )
  AND YEAR(tlb.dErstellt) = YEAR(DATEADD(YEAR, -1, GETDATE()))

    GROUP BY tl.kLieferant
) AS jVorjahr ON jVorjahr.kLieferant = tl.kLieferant

WHERE tlb.kLieferant = (SELECT tlb.kLieferant FROM tLieferantenBestellung tlb WHERE tlb.kLieferantenBestellung = @Key)
GROUP BY tl.cFirma, jLetzte30Tage.absatz, jLetzte60Tage.absatz, jAktuellYTD.absatz, jVorjahrYTD.absatz, jVorjahr.absatz

Gruß Tara
 
  • Gefällt mir
Reaktionen: MichaelH
Ähnliche Themen
Titel Forum Antworten Datum
Neu Versanddaten nicht übermittelt. Fehlermeldung in der Spalte Status Versand/Zahlung eBay-Anbindung - Fehler und Bugs 0
Neu Kumulierte Menge der Artikelpositionen vor dem Speichern des Auftrags einsehen Eigene Übersichten in der JTL-Wawi 0
Neu "Variationsvorschau anzeigen" in der Galerie funktioniert nicht JTL-Shop - Fehler und Bugs 1
Neu Verkaufskanalverwaltung: languageIso / Der Wert darf nicht NULL sein. Shopware-Connector 0
Neu Woran erkennen, dass der Connector funktioniert? Technische Fragen zu den JTL-Connectoren 0
Aktuelle Störung der SCX-Schnittstelle und weiterer JTL-Systeme Störungsmeldungen 1
Neu Anpassung der Rechnungsansicht bei zu langen Artikelbeschreibungen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Amazonspezifische Variablen in der Voralgenerstellung Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Merkmalfilter: Ausgabe der Kindartikel möglich? Betrieb / Pflege von JTL-Shop 0
Neu Sehr lange Ladezeit der Produktseite nach Upgrade auf Version 5.4 Allgemeine Fragen zu JTL-Shop 6
JTL-Search - Hardwarestörung auf einem der Search-Server (s7) Störungsmeldungen 0
Neu Anzeige der Konten in der Wawi User helfen Usern - Fragen zu JTL-Wawi 2
Neu POS Aufträge in der Wawi nicht abgeschlossen, stehen somit im Versand als "offen" JTL-POS - Fehler und Bugs 1
Neu Wie löscht man eine Lizenz aus der Lizenzverwaltung im KC? Allgemeine Fragen zu JTL-Shop 2
Neu Spontane Überarbeitung der Versandbedingungen bei Ebay eBay-Anbindung - Fehler und Bugs 1
Konfigurationsartikel mit 0 € vs. Preise der einzelnen Komponenten mit 0 € Einrichtung JTL-Shop5 1
Tiefe der Navigation JTL-Wawi 1.9 1
Welche Barcodeschriftart ist zu verwenden, damit der Druck auch von einem iOS-Gerät korrekt ausgeführt wird? JTL-Wawi App 7
Neu Preisdarstellung mit der niedrigsten Staffelung Allgemeine Fragen zu JTL-Shop 5
Neu durchscnittlicher VK der Kundengruppe Eigene Übersichten in der JTL-Wawi 4
Neu Shop 5.4.0: Zahlungsarten nun als Position in der Wawi? JTL-Shop - Ideen, Lob und Kritik 16
Neu Wird der Woocommerce Connector eigentlich noch gepflegt? WooCommerce-Connector 0
Neu Bestandsvariable in der Sprachvariable ampelGelb Templates für JTL-Shop 0
Nummernliste der Bilder in mobiler Ansicht entfernen Einrichtung JTL-Shop5 8
Kampagnenreiter in der Auftragsansicht JTL-Wawi 1.8 1
Neu Hauptbild wird bei Wechsel der VarKombi nicht angezeigt Betrieb / Pflege von JTL-Shop 3
Neu Einstellung der Deutsche Post Portokasse JTL-ShippingLabels - Ideen, Lob und Kritik 16
Neu Artikelnamen auf der Homepage vollständig sehen. Er ist wenn er zu lang ist verkürzt. Allgemeine Fragen zu JTL-Shop 2
Neu Picken nur von dem Lagerplatz, der 100 % der Aufträge bedienen kann Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 2
Neu Anzeige der Vorgangsstatus im JTL Shop 5 Betrieb / Pflege von JTL-Shop 1
Neu Zusätzliche Bearbeitungszeit wird nicht bei der Lieferzeit an Shopware 6 berücksichtigt Shopware-Connector 0
Neu Artikel mit Zustand beschädigt wird nicht als eigenständiger Artikel in der WaWi angezeigt User helfen Usern - Fragen zu JTL-Wawi 1
Neu Geht bei Euch das Aufladen der Portokasse in DHL-Onlinefrankierung? JTL-ShippingLabels - Ideen, Lob und Kritik 12
Neu Fehlermeldung: Fehler bei der Kommunikation mit dem eA-Server eBay-Anbindung - Fehler und Bugs 3
Neu Workflow der prüft, ob eine Bestellung komplett aus einem bestimmten Lager lieferbar ist. User helfen Usern - Fragen zu JTL-Wawi 7
Neu Kommentare von der Retoure in WMS einsehen\ Retoure wiederfinden User helfen Usern - Fragen zu JTL-Wawi 0
Neu Umbuchung der Lizenzen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 2
Ändern der Bearbeitungszeit auf Amazon lässt sich nicht auf Länder eingrenzen JTL-Wawi 1.9 0
Neu Liste verkaufter Artikel mit VK Fibu-Konto aus der Artikelkategorie User helfen Usern - Fragen zu JTL-Wawi 4
Korrektur Name des Absenders bei Anforderung der Bestätigung der E-Mail-Adresse Einrichtung JTL-Shop5 1
Neu Artikel wird nach Auswahl der Variante nicht mehr angezeigt JTL-Shop - Fehler und Bugs 3
Neu Ameise (WAWI 1.9.5.2) -> Wie funktioniert der Upload der Produktion JTL-Plan&Produce - Ideen, Lob und Kritik 0
Neu Eigene Felder aus dem Auftrag in der Packtisch+ / WMS Ausgabe JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 4
Neu Warum ist der Ameisen Export so langsam? JTL-Ameise - Ideen, Lob und Kritik 22
Neu kKunde != InternerSchlüssel > Aus Shop den Internern Schlüssel der WaWi Technische Fragen zu Plugins und Templates 1
Neu Keine Übernahme der Gewichtsangabe JTL-Wawi - Fehler und Bugs 0
Neu Ladezeitprobleme der jtl3.js Betrieb / Pflege von JTL-Shop 0
Fehler von der Kaufland API: productData.attributes.battery_disposal_instruction: No matching model found in additionalProperties to validate battery_ kaufland.de - Anbindung (SCX) 0
Neu Kunden in UK - was ist der sinnvollste Weg? Business Jungle 8
Hilfe gesucht für Änderung der internen Schlüsselnummern! JTL-Wawi 1.9 8

Ähnliche Themen