Neu SQL Abfrage für verkaufte Artikel nach Plattformen

lantelme

Neues Mitglied
3. September 2019
4
4
Hallo euch allen,

ich will eine Abfrage erstellen die in den Zeilen unsere SKU und in den Spalten die Anzahl der Verkäufe dieser Artikel nach Plattform sowie in verschiedenen Zeitenräumen anzeigt.
Meine Abfrage sieht so aus (als Beispiel nur den Part für Amazon.de):
USE eazybusiness
SELECT tbestellpos.cArtNr AS SKU

,case when tBestellung.dErstellt > DATEADD(DAY, -7, getdate()) and MIN(tBestellung.nPlatform) = 51 then convert(int,sum(tbestellpos.nAnzahl)) else 0 end AS AmazonDeWoche
,case when tBestellung.dErstellt > DATEADD(DAY, -30, getdate()) and MIN(tBestellung.nPlatform) = 51 then convert(int,sum(tbestellpos.nAnzahl)) else 0 end AS AmazonDe30
,case when tBestellung.dErstellt > DATEADD(DAY, -90, getdate()) and MIN(tBestellung.nPlatform) = 51 then convert(int,sum(tbestellpos.nAnzahl)) else 0 end AS AmazonDe90
,case when tBestellung.dErstellt > DATEADD(DAY, -365, getdate()) and MIN(tBestellung.nPlatform) = 51 then convert(int,sum(tbestellpos.nAnzahl)) else 0 end AS AmazonDe365
,case when MIN(tBestellung.nPlatform) = 51 then convert(int,sum(tbestellpos.nAnzahl)) else 0 end AS AmazonDeGes

FROM tBestellung
JOIN tbestellpos
ON tbestellpos.tBestellung_kBestellung = tBestellung.kBestellung
WHERE ISNULL(tbestellung.cType,'') = 'B'
AND ISNULL(tbestellpos.cArtNr,' ') <> ' '
GROUP BY cArtNr
ORDER BY cArtNr asc
Jede Gesamtabfrage, die kein Datum abfrägt, funktioniert einwandfrei. Nun zu meinem Problem. Das Management Studio gibt mir den Fehler "Die tBestellung.dErstellt-Spalte ist in der Auswahlliste ungültig, da sie nicht in einer Aggregatfunktion und nicht in der GROUP BY-Klausel enthalten ist." aus. Zu Beginn hatte ich das selbe Problem mit der Spalte nPlatform, doch dieses konnte ich dank MIN() umgehen. Eben jenes kann ich aber nicht bei einem Datum verwenden.
Wenn ich die Spalte dErstellt in die GROUP BY Klausel einbinde, bekomme ich die selbe SKU mehrmals angezeigt (für jede verkaufte Position ein mal), was nicht Sinn und Zweck der Sache ist.

Mir gehen langsam die Ideen aus. Bin für jede Hilfe dankbar!
MfG
 

exxxtensa

Neues Mitglied
21. Oktober 2019
1
1
Sag ihm, er soll das nächste mal gleich mich fragen ;)
@DieMods: Wir kennen uns privat.

Also, hier bidde. ABER: ist leider ungetestet. Sitze hier am Mac und habe gerade kein Management Studio, kann das erst morgen mit dir verifizieren/korrigieren
SQL:
 --Variablen für den Zeitvergleich, spart code
DECLARE @dat7 datetime = dateadd(day, -7, getdate());
DECLARE @dat30 datetime = dateadd(day, -30, getdate());
DECLARE @dat90 datetime = dateadd(day, -90, getdate());
DECLARE @dat365 datetime = dateadd(day, -365, getdate());

declare @amazonDE smallint = 51;
--hier noch die anderen shops einfügen

USE eazybusiness;

SELECT cArtNr AS SKU

--AmazonDE
,sum(case when dErstellt > @dat7 and nPlatform = @amazonDE then convert(int, nAnzahl) else 0 end) AS Amazon7
,sum(case when dErstellt > @dat30 and nPlatform = @amazonDE then convert(int, nAnzahl) else 0 end) AS AmazonDE30
,sum(case when dErstellt > @dat90 and nPlatform = @amazonDE then convert(int, nAnzahl) else 0 end) AS AmazonDE90
,sum(case when dErstellt > @dat365 and nPlatform = @amazonDE then convert(int, nAnzahl) else 0 end) AS AmazonDE365
,sum(case when nPlatform = @amazonDE then convert(int, nAnzahl) else 0 end) AS AmazonDEGes

--und so weiter mit amazonUS, amazonIT, etc..

--Beispiel für Amazon alle Länder Gesamt:
,sum(case when nPlatform between 50 and 60) then convert(int, nAnzahl) else 0 int) as AmazonGes
--oder besser
,sum(case when nPlatform between @amazonDE and @amazonUS) then convert(int, nAnzahl) else 0 int) as AmazonGes2 --variablen noch deklarieren

FROM tBestellung
LEFT JOIN tbestellpos
ON kBestellung = tBestellung_kBestellung
WHERE ISNULL(cType,'') = 'B'
AND TRIM(ISNULL(cArtNr,'') <> ''
GROUP BY cArtNr
ORDER BY SKU asc
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: lantelme

IT-WEFA

Gut bekanntes Mitglied
3. April 2019
262
19
Sag ihm, er soll das nächste mal gleich mich fragen ;)
@DieMods: Wir kennen uns privat.

Also, hier bidde. ABER: ist leider ungetestet. Sitze hier am Mac und habe gerade kein Management Studio, kann das erst morgen mit dir verifizieren/korrigieren
SQL:
 --Variablen für den Zeitvergleich, spart code
DECLARE @dat7 datetime = dateadd(day, -7, getdate());
DECLARE @dat30 datetime = dateadd(day, -30, getdate());
DECLARE @dat90 datetime = dateadd(day, -90, getdate());
DECLARE @dat365 datetime = dateadd(day, -365, getdate());

declare @amazonDE smallint = 51;
--hier noch die anderen shops einfügen

USE eazybusiness;

SELECT cArtNr AS SKU

--AmazonDE
,sum(case when dErstellt > @dat7 and nPlatform = @amazonDE then convert(int, nAnzahl) else 0 end) AS Amazon7
,sum(case when dErstellt > @dat30 and nPlatform = @amazonDE then convert(int, nAnzahl) else 0 end) AS AmazonDE30
,sum(case when dErstellt > @dat90 and nPlatform = @amazonDE then convert(int, nAnzahl) else 0 end) AS AmazonDE90
,sum(case when dErstellt > @dat365 and nPlatform = @amazonDE then convert(int, nAnzahl) else 0 end) AS AmazonDE365
,sum(case when nPlatform = @amazonDE then convert(int, nAnzahl) else 0 end) AS AmazonDEGes

--und so weiter mit amazonUS, amazonIT, etc..

--Beispiel für Amazon alle Länder Gesamt:
,sum(case when nPlatform between 50 and 60) then convert(int, nAnzahl) else 0 int) as AmazonGes
--oder besser
,sum(case when nPlatform between @amazonDE and @amazonUS) then convert(int, nAnzahl) else 0 int) as AmazonGes2 --variablen noch deklarieren

FROM tBestellung
LEFT JOIN tbestellpos
ON kBestellung = tBestellung_kBestellung
WHERE ISNULL(cType,'') = 'B'
AND TRIM(ISNULL(cArtNr,'') <> ''
GROUP BY cArtNr
ORDER BY SKU asc
es fehlt ein schließende Klammer ")"
nach
AND TRIM(ISNULL(cArtNr,'')
 
  • Gefällt mir
Reaktionen: aadursun
Ähnliche Themen
Titel Forum Antworten Datum
Neu SQL Abfrage Artikelbezeichnung auf Englisch für Artikeletikett User helfen Usern - Fragen zu JTL-Wawi 4
Neu SQL Abfrage über ODBC für Bewegunghistorie (WMS) Eigene Übersichten in der JTL-Wawi 4
Datenbank-Abfrage per SQL nach Lagermenge pro Artikel & Warenbereich (WMSLager) JTL-Wawi 1.8 1
Beantwortet #GEFUNDEN# Suche jemand , der uns eine (automatische) SQL Abfrage erstellen kann mit Mail Ausgabe Dienstleistung, Jobs und Ähnliches 2
Neu SQL-Abfrage bei Kundenanlage JTL-Wawi 1.7 2
Neu CSV-Datei direkt in einer SQL-Abfrage verwenden User helfen Usern - Fragen zu JTL-Wawi 3
Neu SQL Abfrage in Excel User helfen Usern - Fragen zu JTL-Wawi 12
Neu SQL Abfrage wird mehrfach ausgeführt - Ausgabe in der Übersicht falsch Eigene Übersichten in der JTL-Wawi 8
SQL Abfrage via Ameise: Seriennummer u. weitere Daten JTL-Wawi 1.8 0
Komplexe SQL Abfrage zu gelieferten Artikeln mit eigenen Feldern - Hilfe gesucht JTL-Wawi 1.8 1
SQL Abfrage alle Aufträge ohne Lieferschein JTL-Wawi 1.8 2
Neu Logfile: SQL Fehler, aber warum? JTL-Shop - Fehler und Bugs 2
Neu Erstinstallation JTL WaWi 1.8.12 - heruntergeladen wird SQL Express 2017 _statt_ der empfohlenen 2022 Version Installation von JTL-Wawi 8
Neu MS SQL Server 2022 oder MS SQL Server 2022 Express? Installation von JTL-Wawi 8
Neu SQL-Fehler bei Volltextsuche und Sonderzeichen JTL-Shop - Fehler und Bugs 0
Neu einfache SQL Verknüfpung zweier Tabellen, z.B. Artikel mit ArtikelBeschreibung 1.6.46.1 Gelöste Themen in diesem Bereich 13
Neu SQL Ausgabe der Varko-Auswahl eines Artikels, mehrsprachig Tabelle zwei mal auf sich Joinen? User helfen Usern - Fragen zu JTL-Wawi 5
Neu SQL-Erfahrene vor - Nach Datenrettung - fehlende Aufträge lassen sich nicht einfügen - Ideen? User helfen Usern 4
Neu Nach Installation eines neuen SQL Servers klappt die Verbindung vom Benutzer-PC zum Server-PC nicht mehr. Installation von JTL-Wawi 5
Neu Fehler SQL-Schema importieren bei Neuinstallation Installation / Updates von JTL-Shop 7
Neu Update MS SQL 2014 auf MS SQL 2022 User helfen Usern - Fragen zu JTL-Wawi 0
Neu Datenbankebene per SQL löschen Eigene Übersichten in der JTL-Wawi 6
Neu MS SQL 14 Express wird langsam voll. Welche Lienzen benötigen wir? Bitte um Hilfe Eigene Übersichten in der JTL-Wawi 27
Upgrade von SQL Server 2014 auf höhere Version JTL-Wawi 1.8 4
1.8.11.0 - Worker SQL lässt System hängen JTL-Wawi 1.8 0
Neu List&Label Merkmale auf Etiketten (SQL) Gelöste Themen in diesem Bereich 3
Neu SQL Server Express 2017 auf 2022 Update Installation von JTL-Wawi 10
Neu Nach SQL Server neuinstallation Benutzer gelöscht? JTL-Wawi - Fehler und Bugs 3
Neu Versandart + Zahlungsart in Rechnungskorrektur (SQL) User helfen Usern - Fragen zu JTL-Wawi 10
1.8.10.0 - SQL-Job Performance-Optimierung JTL-Wawi 1.8 24
Neu SQL 2017 auf 2022 updaten (express) User helfen Usern - Fragen zu JTL-Wawi 1
SQL ifGetPrice liefert nur netto Preise, wie komme ich an Brutto ran? JTL-Wawi 1.7 4
Neu Abfrage von Änderungen am Lagerbestand zu einem bestimmten Zeitpunkt in der Vergangenheit JTL Ameise - Eigene Exporte 3
Neu Abfrage der Versandart von der Plattform User helfen Usern - Fragen zu JTL-Wawi 0
Neu gelöst: PHP Abfrage Versandklasse und passendes Bild aussteuern Betrieb / Pflege von JTL-Shop 2
Neu Track&Trace für Österreichische Post JTL-Track&Trace - Ideen, Lob und Kritik 1
Neu PrestaShop Connector für Prestashop 8 mit PHP 8.2 wird nicht unterstützt PrestaShop-Connector 0
Neu Variablen für den Email Versand Einrichtung JTL-Shop5 0
Neu Nach Update auf 5.3 funktioniert das Video-Portlet für lokale Videos nicht Gelöste Themen in diesem Bereich 9
Wo befindet sich das Feld mit der Information für "Zustandsbeschreibung" auf Ebay? JTL-Wawi 1.8 9
Neu Egener Export für CBAM-Bericht möglich? JTL Ameise - Eigene Exporte 0
Beantwortet Globaler Haken für Überverkaufe ermöglichen JTL-Workflows - Fehler und Bugs 1
Neu JTL 1.8.12.0 - Artikelattribut für Shop importieren - Format CSV-Datei / Hilfe bei Import von individuellen Attributen für JTL-Shop (googlekat) JTL-Ameise - Ideen, Lob und Kritik 1
In Diskussion Benutzerdefinierten Standardpfad für Errorlogs definieren (Voting) JTL-Workflows - Ideen, Lob und Kritik 0
Neu Freitextfeld über Variation - Zeichenbeschränkung für Gravur Allgemeine Fragen zu JTL-Shop 8
Neu Template/ Vorlage für Bestellbestätigung gesucht Templates für JTL-Shop 0
WaWi Preisuntergrenze für Artikel festschreiben JTL-Wawi 1.7 4
Neu Variablen für Stücklistartikel in den neuen Vorlagen Angebot Auftrag Rechnung ect. Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Anleitung: Artikeletiketten für Auftrag, Rechnung, Lieferschein etc. drucken mit Etikettenanzahl = Artikelanzahl User helfen Usern - Fragen zu JTL-Wawi 0
Neu Zusatzkosten für Artikel Gelöste Themen in diesem Bereich 17

Ähnliche Themen