Neu Summe der Bestllungen eines Lieferanten

McFunny

Sehr aktives Mitglied
13. Dezember 2006
1.198
8
Putzbrunn 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

Gut bekanntes Mitglied
19. Oktober 2018
97
40
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
25
9
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
12.838
1.137
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
25
9
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 Report zu einem Lieferanten mit Summe der Einkäufe und Verkäufe Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Summe in Auftrag bei Stücklisten falsch Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Shopware 6 <> JTL Connector Beta: Individuelle Sortierung der Artikel Shopware-Connector 1
Neu Artikelbilder in der E-Mail Rechnungsvorlage Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Was ist der Unterschied zwischen PayPal Plus und PayPal Checkout? Business Jungle 1
Neu Per Workflow eine E-Mail mit der Sendungsnummer der Beilegeretoure versenden Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 4
Neu Ist das möglich: Scannen der Aufträge via OCR? Starten mit JTL: Projektabwicklung & Migration 0
Wawi 1.6 Auftrag manuell anlegen, Artikel Auswahl, umständliche Eingabe der Stückzahl.? JTL-Wawi 1.6 4
Neu Kann mir jemand sagen wo der Inhalt dieses Feldes herkommt? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Fehler beim Speichern der Daten für den Verkaufskanal-PrestaShop-JTL Wawi 1.6 PrestaShop-Connector 0
Neu Manueller Abgleich der Plaatformen mit der 1.6 JTL-Wawi - Ideen, Lob und Kritik 0
Webinar - Der Einkauf in JTL-Wawi 1.6 – Das ist neu Messen, Stammtische und interessante Events 0
Neu Eigene Auftragsfelder auf der Rechnung? Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 1
Neu Wie wird Skonto in der WAWI verbucht? Arbeitsabläufe in JTL-Wawi 4
Neu Ändern der Mengenauswahl Templates für JTL-Shop 0
Neu Suche SQL Spezialist der Mwst Sätze u. Beträge in der dbo.tbestellpos von Amazon VCS Bestellungen ändern kann Dienstleistung, Jobs und Ähnliches 3
Neu Wie kann ich die Bild Anzeigegröße der Kategorie ändern? Allgemeine Fragen zu JTL-Shop 0
Neu Kein Workflow bei Änderungen der Anmerkungen in der Auftragsübersicht JTL-Wawi - Fehler und Bugs 0
Neu SQL für die Anzahl der heute versendeten Aufträge User helfen Usern - Fragen zu JTL-Wawi 3
Neu Ausgabe des Gesamtbetrags in JTL Shop 5 auf der Bestellabschluss-Seite Allgemeine Fragen zu JTL-Shop 1
Neu Trotz Einstellung bei Druckerverwaltung für neuen Drucker, druckt der alte Drucker?? User helfen Usern - Fragen zu JTL-Wawi 6
Beantwortet Verbesserung der Kartonagenverwaltung JTL-Wawi - Ideen, Lob und Kritik 8
Neu Rechnungsdifferenzen bei den VCS Rechnungen mit der 1.6 Amazon-Anbindung - Fehler und Bugs 2
Neu GLN Nummer Auf der Rechnung anlegen User helfen Usern - Fragen zu JTL-Wawi 0
Ready for Release: das Releasedatum der JTL-Wawi 1.6 steht fest! Releaseforum 0
Neu Gegenüberstellung der JTL WaWi Spaltennamen zu Datenbankspaltennamen User helfen Usern - Fragen zu JTL-Wawi 2
Neu JTL-Vouchers UI: Probleme bei der Anzeige von Gutscheinen mit PIN JTL-Wawi - Fehler und Bugs 0
Neu Suche Tool zum bearbeiten der Amazon Artikelbeschreibungen/-attribute Smalltalk 0
Neu Fehler bei der Installation Google reChaptcha v2 Plugins für JTL-Shop 1
Neu Größe der Datenbank bei Backup User helfen Usern - Fragen zu JTL-Wawi 6
In Bearbeitung Ausschank in der Gastronomie Wawi/POS Allgemeine Fragen zu JTL-POS 3
Neu Handhabung der Konfigurationsartikel ist in der JTL-POS problematisch JTL-POS - Ideen, Lob und Kritik 0
Neu Bestimmte Artikel in der Suche zuerst anzeigen Allgemeine Fragen zu JTL-Shop 0
Neu QR Code der automatisch Artikel in den Warenkorb legt Arbeitsabläufe in JTL-Wawi 0
Neu Kennzeichnung der "Wiederkäufer" in Auftragsliste möglich? Individuelle Listenansichten in der JTL-Wawi 4
Neu Wie bekomme ich die Anzeige der Lieferzeit je VarKombi in der Artikelansicht im JTL-Shop umgesetzt? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Qualität der Banner im JTL Shop 5 ist schlecht Allgemeine Fragen zu JTL-Shop 0
Neu Thema Skonto Frist in der Wawi um 2-3 Tage verlängern Arbeitsabläufe in JTL-Wawi 4
Neu Keine Anzeige der Versandkosten in Spalte "Bezeichnung" Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Teilrechnung in der 1.6.36.0 verschwunden? JTL-Wawi - Fehler und Bugs 2
Neu Wann funktioniert der Shopware6 Connector? Shopware-Connector 8
Neu Warenkorb - Fehler in der Berechnung der Gesamtsumme JTL-Shop - Fehler und Bugs 1
Neu Kauf auf Rechnung aus der Auswahlmöglichkeit im Shop verschwunden Betrieb / Pflege von JTL-Shop 0
In Bearbeitung Rabatt erscheint nicht auf der Kasse JTL-POS - Fehler und Bugs 4
Neu Probleme mit der Amazon-Schnittstelle --> Selbsterstellte Produktseite bleibt dauerhaft im Status gesendet Amazon-Anbindung - Fehler und Bugs 9
Warenkorb - Anzeige der Artikeleigenschaften beeinflussen Einrichtung JTL-Shop5 1
In Bearbeitung POS Belege werde in der WAWI immer noch aus Ausstehend gekennzeichnet und blockieren Bestand JTL-POS - Fehler und Bugs 1
Gelöst Hilfestellung bei der Einrichtung von verschiedenen Versandmöglichkeiten Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 4
Neu WAWI 1.6.36.0 Rechnungsänderungen werden in der Rechnung nicht übernommen JTL-Wawi - Fehler und Bugs 2
Beantwortet Variationsartikel mit Anpassung/Personalisierung nach der Bestellung Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 8

Ähnliche Themen