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
Ähnliche Themen
Titel Forum Antworten Datum
Neu Verknüpfung von DB-Tabellen in SQL-Abfrage für Retouren zur Ermittlung des Kunden User helfen Usern - Fragen zu JTL-Wawi 1
Neu HILFE bei SQL Abfrage User helfen Usern - Fragen zu JTL-Wawi 2
Neu Workflow: Auftrag erstellt -> Kreditlimit überschritten (SQL - Abfrage) User helfen Usern - Fragen zu JTL-Wawi 0
Neu SQL/VS Storde Procedure - Artikel hinzufügen Schnittstellen Import / Export 3
Neu Grafana SQL Abfragen Beispiele User helfen Usern 0
Neu JTL Wawi Verbindung von RDS-Server auf SQL Server herstellen funktioniert nicht JTL-Wawi - Fehler und Bugs 0
Neu Attribut-Ausgabe per SQL im Vorlagendesigner Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 4
Neu SQL hinter den Variablen in JTL Wawi User helfen Usern - Fragen zu JTL-Wawi 2
Neu Google Shopping Plugin - SQL möglich? (z.B. für Warengruppe) Plugins für JTL-Shop 0
Neu SQL User helfen Usern - Fragen zu JTL-Wawi 2
Neu SQL Fehlermeldung bei ebay Abruf eBay-Anbindung - Fehler und Bugs 2
Neu SQL Datei per Batch ausführen User helfen Usern - Fragen zu JTL-Wawi 12
Neu Variantebilder werden nicht angezeigt / SQL Fehler Shopware-Connector 0
Neu JTL Statistik SQL EK VK ausgeben User helfen Usern - Fragen zu JTL-Wawi 0
Neu SQL: gesamte offene Posten zu einer Kundennummer Individuelle Listenansichten in der JTL-Wawi 1
Neu Biete: JTL Shop Entwickler, Plugins / Templates / Reports / SQL / Apps Dienstleistung, Jobs und Ähnliches 0
Neu SQL Bild des Vaterartikels Individuelle Listenansichten in der JTL-Wawi 0
Neu SQL - Eigene Übersicht Sonderpreise von Amazon Individuelle Listenansichten in der JTL-Wawi 0
Neu MS SQL Server 2017Express - Extrahierungsfehler Installation von JTL-Wawi 1
Neu Eigenes Feld von Artikel mit Abfrage in Angebote/Aufträge etc. User helfen Usern - Fragen zu JTL-Wawi 0
In Diskussion Abfrage Passwort funktioniert nicht Einrichtung / Updates von JTL-POS 2
Neu Warenkorb - Variations -if-Abfrage - wo habe ich den Fehler gemacht?????????? User helfen Usern 1
Neu Abfrage Länder ISO Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu DB Abfrage UVP von Kindern beim Vater anzeigen Templates für JTL-Shop 0
Neu Logo für Bon in JTL-POS auf Chromebox JTL-POS - Fragen zu Hardware 1
Neu Projektbaustein für Bereich Lager Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu 💙 Neues Plugin: Messenger Kontaktlayer (für JTL-Shop5) Plugins für JTL-Shop 3
Neu 💙 Neues Plugin: Artikelsticker Plus (für JTL-Shop5) Plugins für JTL-Shop 0
Neu Mixbox Plugin für JTL-Shop5 Com-ins-netz CIN GmbH Plugins für JTL-Shop 0
Neu Shop5 Plugin " Pfand incl. Altteilesteuer für den KFZ Handel" Com-ins-netz CIN GmbH Plugins für JTL-Shop 0
Neu Attribute für Cross-Selling Shopware-Connector 2
Neu Hardware für Gastronimie Allgemeine Fragen zu JTL-POS 0
In Bearbeitung Fehler "Typ " 'Decimal' für Eigenschaft 'Anzahl' konvertiert werden. " in Worflow mit DotLiquid JTL-Workflows - Ideen, Lob und Kritik 2
Beantwortet Funktion der Prioritäten für Lagerplätze Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 3
Neu Exit intent Popup Plugin für JTL 5 User helfen Usern - Fragen zu JTL-Wawi 0
Neu Software für Firmen-Wiki gesucht User helfen Usern 5
Neu Wartungsarbeiten an unserer JTL-eazyAuction-Infrastruktur für Amazon News, Events und Umfragen 7
Neu Designer für Relaunch und Usability User helfen Usern 0
Neu Software für Labelprinter unter RDP-Hosting User helfen Usern - Fragen zu JTL-Wawi 3
In Diskussion Workflow für Auftrag mit Verlust JTL-Workflows - Ideen, Lob und Kritik 4
Neu Endless Scrolling für Shop 5.x Plugins für JTL-Shop 0
Neu Druckerempfehlung für Versandlabels User helfen Usern 1
Neu Smarty Variablen für Meta-Tags Templates für JTL-Shop 1
Neu 💙 Neues Plugin: FAQ mit strukturierten Daten (für JTL-Shop 5) Plugins für JTL-Shop 0
Shop 5 Ersatz für Hook 177 - HOOK_FILTER_INC_BAUEARTIKELANZAHL Upgrade JTL-Shop4 auf JTL-Shop5 4
Neu Wie wähle ich ein Bild als Hintergrund für ein Rich Text Portlet aus? Templates für JTL-Shop 2
Neu Shop 5 | Fette Schrift einstellen für Portlet "Schaltfläche" Templates für JTL-Shop 5
Neu Kategorien für Webshop - Einrichten und Darstellung User helfen Usern - Fragen zu JTL-Wawi 1
Gelöst zweites tablet für JTL_POS einrichten Gelöste Themen in diesem Bereich 3
Neu Drucker für Barcodes - Etikettengröße 32x20mm User helfen Usern 4

Ähnliche Themen