Neu Export von Kunden, die in der Vergangenheit bereits bestimmte Artikel gekauft haben

Weinewald24

Aktives Mitglied
18. Januar 2018
51
3
Berlin
Export von Kunden, die in der Vergangenheit bereits bestimmte Artikel gekauft haben.

Wer kann mir helfen?
Ich bräuchte eine SQL-Abfrage, die mir sämtliche Kunden ausgibt, die in der Vergangenheit bereits bestimmte Artikel gekauft haben. Ideal wäre, wenn ich sowohl nach Artikelbezeichnungen als auch nach Artikelnummern suchen könnte und ich gleich mehrere Suchbegriffe (Bezeichnungen oder Artikelnummern) auf einmal eingeben könnte.

Vielen Dank im Voraus
 

John

Sehr aktives Mitglied
3. März 2012
4.159
1.060
Berlin
Das geht auch ohne SQL.
Du kannst einfach in der Liste (aller) Aufträge nach einer Position suchen. Danach werden nur die Aufträge gelistet, die die Position enthalten.
Dann die relevanten Spalten der Kunden einblenden und die ganze Tabelle nach CSV exportieren. Rechtsklick in Spaltenkopf Tabelleninhalt, Export ist im Kontextmenü.
 
  • Gefällt mir
Reaktionen: Weinewald24

Weinewald24

Aktives Mitglied
18. Januar 2018
51
3
Berlin
Das geht auch ohne SQL.
Du kannst einfach in der Liste (aller) Aufträge nach einer Position suchen. Danach werden nur die Aufträge gelistet, die die Position enthalten.
Dann die relevanten Spalten der Kunden einblenden und die ganze Tabelle nach CSV exportieren. Rechtsklick in Spaltenkopf Tabelleninhalt, Export ist im Kontextmenü.
Vielen Dank, aber das wusste ich bereits.
DIese Variante funktioniert aber nur einzeln und es werden dann auch immer die Daten zum Zeitpunkt der Bestellung (Adresse, Mailadressen) gezogen, die sch zwischenzeitlich geändert haben könnten. Des Weiteren sind nicht mehr sämtliche dieser Kunden "aktiv", sodass ich die Datensätze einzeln prüfen müsste.

Besser wäre eine Variante, die mit der Kundennummer aus der Bestellung den Kunden aus dem (aktiven) Kundenbestand verknüpft. So wäre das Ergebnis aktueller in Bezug auf (Mail-)Adressen.
 

John

Sehr aktives Mitglied
3. März 2012
4.159
1.060
Berlin
Mal so als Ansatz...berücksichtig aber keine Stornos.

Code:
DECLARE @ArtNr nvarchar(100) = 'DieArtNummer';

SELECT
tkunde.cKundenNr,
Verkauf.tAuftragPosition.kAuftrag,
Verkauf.tAuftragPosition.cArtNr,
Verkauf.tAuftrag.kKunde,
tAdresse.cFirma,
tAdresse.cVorname,
tAdresse.cName,
tAdresse.cMail
FROM Verkauf.tAuftragPosition
JOIN Verkauf.tAuftrag ON Verkauf.tAuftrag.kAuftrag = Verkauf.tAuftragPosition.kAuftrag
JOIN tkunde ON tkunde.kKunde = Verkauf.tAuftrag.kKunde
JOIN tAdresse ON tAdresse.kKunde = Verkauf.tAuftrag.kKunde
WHERE tAdresse.nStandard = 1
AND cArtNr = @ArtNr
ORDER BY tkunde.cKundenNr

bzw. das hier wenn Kunden nur einfach vorkommen sollen

Code:
DECLARE @ArtNr nvarchar(100) = 'DieArtNummer';

SELECT DISTINCT
tkunde.cKundenNr,
Verkauf.tAuftragPosition.cArtNr,
Verkauf.tAuftrag.kKunde,
tAdresse.cFirma,
tAdresse.cVorname,
tAdresse.cName,
tAdresse.cMail
FROM Verkauf.tAuftragPosition
JOIN Verkauf.tAuftrag ON Verkauf.tAuftrag.kAuftrag = Verkauf.tAuftragPosition.kAuftrag
JOIN tkunde ON tkunde.kKunde = Verkauf.tAuftrag.kKunde
JOIN tAdresse ON tAdresse.kKunde = Verkauf.tAuftrag.kKunde
WHERE tAdresse.nStandard = 1
AND cArtNr = @ArtNr
ORDER BY tkunde.cKundenNr
 
  • Gefällt mir
Reaktionen: Weinewald24

Weinewald24

Aktives Mitglied
18. Januar 2018
51
3
Berlin
Mal so als Ansatz...berücksichtig aber keine Stornos.

Code:
DECLARE @ArtNr nvarchar(100) = 'DieArtNummer';

SELECT
tkunde.cKundenNr,
Verkauf.tAuftragPosition.kAuftrag,
Verkauf.tAuftragPosition.cArtNr,
Verkauf.tAuftrag.kKunde,
tAdresse.cFirma,
tAdresse.cVorname,
tAdresse.cName,
tAdresse.cMail
FROM Verkauf.tAuftragPosition
JOIN Verkauf.tAuftrag ON Verkauf.tAuftrag.kAuftrag = Verkauf.tAuftragPosition.kAuftrag
JOIN tkunde ON tkunde.kKunde = Verkauf.tAuftrag.kKunde
JOIN tAdresse ON tAdresse.kKunde = Verkauf.tAuftrag.kKunde
WHERE tAdresse.nStandard = 1
AND cArtNr = @ArtNr
ORDER BY tkunde.cKundenNr

bzw. das hier wenn Kunden nur einfach vorkommen sollen

Code:
DECLARE @ArtNr nvarchar(100) = 'DieArtNummer';

SELECT DISTINCT
tkunde.cKundenNr,
Verkauf.tAuftragPosition.cArtNr,
Verkauf.tAuftrag.kKunde,
tAdresse.cFirma,
tAdresse.cVorname,
tAdresse.cName,
tAdresse.cMail
FROM Verkauf.tAuftragPosition
JOIN Verkauf.tAuftrag ON Verkauf.tAuftrag.kAuftrag = Verkauf.tAuftragPosition.kAuftrag
JOIN tkunde ON tkunde.kKunde = Verkauf.tAuftrag.kKunde
JOIN tAdresse ON tAdresse.kKunde = Verkauf.tAuftrag.kKunde
WHERE tAdresse.nStandard = 1
AND cArtNr = @ArtNr
ORDER BY tkunde.cKundenNr
Fantastisch. Vielen Dank.
Werde ich gleich morgen ausprobieren :)
 

Weinewald24

Aktives Mitglied
18. Januar 2018
51
3
Berlin
Mal so als Ansatz...berücksichtig aber keine Stornos.

Code:
DECLARE @ArtNr nvarchar(100) = 'DieArtNummer';

SELECT
tkunde.cKundenNr,
Verkauf.tAuftragPosition.kAuftrag,
Verkauf.tAuftragPosition.cArtNr,
Verkauf.tAuftrag.kKunde,
tAdresse.cFirma,
tAdresse.cVorname,
tAdresse.cName,
tAdresse.cMail
FROM Verkauf.tAuftragPosition
JOIN Verkauf.tAuftrag ON Verkauf.tAuftrag.kAuftrag = Verkauf.tAuftragPosition.kAuftrag
JOIN tkunde ON tkunde.kKunde = Verkauf.tAuftrag.kKunde
JOIN tAdresse ON tAdresse.kKunde = Verkauf.tAuftrag.kKunde
WHERE tAdresse.nStandard = 1
AND cArtNr = @ArtNr
ORDER BY tkunde.cKundenNr

bzw. das hier wenn Kunden nur einfach vorkommen sollen

Code:
DECLARE @ArtNr nvarchar(100) = 'DieArtNummer';

SELECT DISTINCT
tkunde.cKundenNr,
Verkauf.tAuftragPosition.cArtNr,
Verkauf.tAuftrag.kKunde,
tAdresse.cFirma,
tAdresse.cVorname,
tAdresse.cName,
tAdresse.cMail
FROM Verkauf.tAuftragPosition
JOIN Verkauf.tAuftrag ON Verkauf.tAuftrag.kAuftrag = Verkauf.tAuftragPosition.kAuftrag
JOIN tkunde ON tkunde.kKunde = Verkauf.tAuftrag.kKunde
JOIN tAdresse ON tAdresse.kKunde = Verkauf.tAuftrag.kKunde
WHERE tAdresse.nStandard = 1
AND cArtNr = @ArtNr
ORDER BY tkunde.cKundenNr
Und an welcher Stelle trage ich die Artikelnummer bzw. Artikelname für die Suche ein?
 

frankell

Sehr aktives Mitglied
9. September 2019
2.678
840
Flensburg
Und an welcher Stelle trage ich die Artikelnummer bzw. Artikelname für die Suche ein?
In der ersten Zeile hat @John die Variable deklariert. Du ersetzt also DieArtNummer mit der Artikelnummer. Die einfachen Anführungszeichen müssen stehenbleiben.
Für die Suche nach einem Artikelnamen müsstest Du noch sagen, in welcher Sprache Du einen Artikelnamen angibst (suchst) und ob der Artikelname überall gleich ist (man kann den global (überall identisch) setzen, aber auch differenziert nach Wawi und den eingestellten Plattformen). Wenn Deutsch (kSprache = 1) und global (kPlattform =1; kShop=0) ist es easy.
 
  • Gefällt mir
Reaktionen: Weinewald24

Weinewald24

Aktives Mitglied
18. Januar 2018
51
3
Berlin
In der ersten Zeile hat @John die Variable deklariert. Du ersetzt also DieArtNummer mit der Artikelnummer. Die einfachen Anführungszeichen müssen stehenbleiben.
Für die Suche nach einem Artikelnamen müsstest Du noch sagen, in welcher Sprache Du einen Artikelnamen angibst (suchst) und ob der Artikelname überall gleich ist (man kann den global (überall identisch) setzen, aber auch differenziert nach Wawi und den eingestellten Plattformen). Wenn Deutsch (kSprache = 1) und global (kPlattform =1; kShop=0) ist es easy.
Hier schreibt ein wahrer Profi. Respekt! Da ich Wein verkaufe, sind die Artikelnamen im SHOP und in der WAWI gleich und ausschließlich in Deutsch
 

John

Sehr aktives Mitglied
3. März 2012
4.159
1.060
Berlin
..dann ist ein Join auf tArtikelBeschreibung wie von @frankell vermutlich angedacht nicht unbedingt nötig. vStandardArtikel wäre sowieso einfacher.
Aber hier kann man es sich noch einfacher machen und gleich
cName in Verkauf.tAuftragPosition nehmen, denn beim erstellen des Auftrags wurde der Artikelname hier reinkopiert...

Zu berücksichtige: wurde der Artikelname in den Stammdaten seit Auftragserstellung geändert, so wird weiterhin nach dem Namen, der im Auftrag steht gesucht.
 

Weinewald24

Aktives Mitglied
18. Januar 2018
51
3
Berlin
..dann ist ein Join auf tArtikelBeschreibung wie von @frankell vermutlich angedacht nicht unbedingt nötig. vStandardArtikel wäre sowieso einfacher.
Aber hier kann man es sich noch einfacher machen und gleich
cName in Verkauf.tAuftragPosition nehmen, denn beim erstellen des Auftrags wurde der Artikelname hier reinkopiert...

Zu berücksichtige: wurde der Artikelname in den Stammdaten seit Auftragserstellung geändert, so wird weiterhin nach dem Namen, der im Auftrag steht gesucht.
Ich werde das in den nächsten Tagen testen und Bescheid geben, ob es klappt bzw. ich damit zurechtkomme. Bereits jetzt herzlichen Dank für die professionelle Hilfe, die gerne mit eine guten Flasche Wein honorieren möchte.
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Viele Opos nach Export per JTL2Datev im Datev User helfen Usern 0
Neu Ameise-Export "Buchungsdaten → Rechnungen" exportiert keine Amazon VCS OSS-Rechnungen (POLU /Bestellungen europäisches Ausland) JTL-Ameise - Fehler und Bugs 3
Neu Ameise Export um Warengruppe erweitern JTL-Ameise - Ideen, Lob und Kritik 1
JTL-Ameise 2.04 - Export Rechnungen csv - unvollständig JTL-Wawi 2.0 13
Neu Eigener Export - Kunden individuelle Preise + verfügbarer Bestand + VK netto der Kundengruppe User helfen Usern - Fragen zu JTL-Wawi 6
Ameise (1.11.11.0) Export auf Clients nicht möglich - Das Dezimaltrennzeichen kann nicht die leere Zeichenfolge sein JTL-Wawi 1.11 5
Kontrollkästchen "Export" bei Zahlungen nicht mehr angehakt JTL-Wawi 2.0 4
Ameise-Export: Umsatzsteuer stimmt nicht mit Differenz aus Netto und Brutto überein (insbesondere bei mehreren Steuersätzen) JTL-Wawi 1.11 0
Neu Anzeige von Rabatt obwohl nicht eingestellt. Allgemeine Fragen zu JTL-Shop 1
Wichtig JTL-ShippingLabels 1.0: Support-Ende GLS/DPD und Migration von JTL-Start-Kunden nach dem 30. September News, Events und Umfragen 13
Neu Amazonpay Fehler nach Anbindung von Datev - bitte helfen Schnittstellen Import / Export 0
Lexware Office von Kunden meldet Arithmetik Fehler in Zugferd 2 XRechnung JTL-Wawi 1.11 2
Neu Wie bedenklich wäre es, den Vorgangsstatus von Aufträgen über einen direkten Datenbankbefehl zu aktualisieren? User helfen Usern - Fragen zu JTL-Wawi 5
Neu Auszahlungen von Amazon prüfen Arbeitsabläufe in JTL-Wawi 2
Neu KI Kennzeichnung von Bildern Betrieb / Pflege von JTL-Shop 9
Die Suche von Stücklistenartikeln/Bundles funktioniert nicht Allgemeine Fragen zu JTL-Shop 0
Neu Update von 1.8.12.4 auf 2.0.5 - Kostenfreie Version - Registrierung erforderlich? User helfen Usern - Fragen zu JTL-Wawi 1
Wie übernehme ich Artikelnamen von JTL in den neuen Kaufland Niederlande-Verkaufskanal? JTL-Wawi 1.11 1
Neu JTL Shop Plugin - BD Automatisierter Widerruf (Von Händler für Händler - Schluss mit Mail-Chaos & Spam-Sorgen!) Plugins für JTL-Shop 0
Neu Installieren von Plugins schlägt fehl "Unable to authenticate using a password." Plugins für JTL-Shop 3
Neu "alte" Bankverbindung beim Duplizieren von älteren Aufträgen User helfen Usern - Fragen zu JTL-Wawi 3
nach Update von 5.3 auf 5.7 neue Position im Warenkorb "Gebühr" die auch in den Auftrag übernommen werden Einrichtung JTL-Shop5 2
Neu E-Rechnungen werden von DATEV nicht akzeptiert JTL-Wawi 2.0 1
In Diskussion Tool für Abrechnung von Fulfillment Dienstleistungen Arbeitsabläufe im Fulfillment Network 0
ändern von Servernamen nach Neuinstallation von SQL und Verbindung mit neuem Server in der Wawi JTL-Wawi 2.0 2
Neu JTL-Shop - Wechsel von Test zum Livebetrieb - was beachten ? Installation / Updates von JTL-Shop 2
Neu Unterschiedliche Abnahmeintervalle von Variationskombinationen in der Warenkorbmatrix Templates für JTL-Shop 0
Angebliche externe Aufträge "für Rechnungserstellung freigeben" und Rechnungen erstellen. Gibt es dazu eine akzeptable Erklärung von JTL? JTL-Wawi 1.11 1
Lohnt sich das Update von 1.11.6 auf 2.0.4 aktuell? JTL-Wawi 2.0 3
Neu Abrechnung / Auslieferung von Aufträgen mit Gutschriftverfahren Arbeitsabläufe in JTL-Wawi 3
Erfahrungswerte Update von 1.8.12.2 auf 1.11.10 JTL-Wawi 1.11 4
Import von Aufträgen via tXMLBestellImport Tabelle seit Update sehr träge/langsam JTL-Wawi 1.11 3
Neu Update von Modul DHL 3.0 aud 4.0 - Versandlabels lassen sich nicht erstellen JTL-ShippingLabels - Fehler und Bugs 17
Neu Umzug von sehr alter JTL Wawi Version auf neuen PC User helfen Usern - Fragen zu JTL-Wawi 3
Update von 1.10.15 auf 1.11.10 JTL-Wawi 1.11 11
Neu Custom Checkout - Conversion optimiert mit Speicherung von Standard-Versandart und Zahlungsart am Kunden JTL-Shop - Ideen, Lob und Kritik 1
Neu ❓JTL Wawi Update von 1.8 auf ??? User helfen Usern - Fragen zu JTL-Wawi 1
In Diskussion Doppelte Aufträge von Kunden filtern bzw. markieren JTL-Workflows - Ideen, Lob und Kritik 5
Neu Probleme beim Erstellen von Artikeln aus Angeboten von eBay User helfen Usern - Fragen zu JTL-Wawi 1
Update von 1.10.10.3 auf aktuellere Versionen JTL-Wawi 1.10 0
Fehler bei Bearbeitung von Attributen via HTML-Editor JTL-Wawi 2.0 3
Neu Identische Aufträge bei mehreren Fulfillment-Kunden sinnvoll trennen? Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 1
Neu Abschaltung Bewertungserinnerung für spezifische Kunden Allgemeine Fragen zu JTL-Shop 0
Neu Kundengruppen-Konsolidierung: Onlineshop-Kundengruppe bestehender Kunden in Masse ändern User helfen Usern - Fragen zu JTL-Wawi 3
Neu DSVGO konform 1000 Kunden in WaWi und Shop löschen! User helfen Usern - Fragen zu JTL-Wawi 4
Neu Lässt sich irgendwie nachvollziehen welcher Bearbeiter einen Kunden freigeschaltet hat? User helfen Usern - Fragen zu JTL-Wawi 4
Test-Kunden als solche in JTL markieren, um die Auswertungen sauber zu halten? JTL-Wawi 1.11 1
JTL nach Update auf 2.0.3 im Bereich „Kunden“ extrem langsam JTL-Wawi 2.0 2
Neu Sendungsnummer an Onlineshop/Kunden/Amazon/Marktplätze nachträglich übermitteln Schnittstellen Import / Export 0

Ähnliche Themen