Neu SQL Abfrage erstellen für Kunden "Shopregistrieung"

Graewe

Aktives Mitglied
28. August 2014
81
2
Morgen Zusammen,

kann mir jemand sagen wie ich eine Abfrage in der SQL Datenbank erstellen kann, wenn ich folgend Informationen benötige?

Kundenvorname, Nachname,Kundennummer, Mailadresse und ob der Kunde sich im "Shop registriert" siehe Screenshot hat.

Wäre aber super, wenn ich das ganze auf eine Kundengruppe einschränken könnte siehe Screenshot. Die Nummer der Kundengruppe habe ich herausgefunden = kKundenGruppe 267

Wäre das ein Ansatz?

SELECT dbo.tadresse.cVorname, ';', dbo.tadresse.cName, ';', dbo.tkunde.cKundenNr ';', dbo.tadresse.cMail';',
FROM dbo.tAdresse

Ich finde nur leider nicht wo die Spalte mit der Shopregistrierung ist und wie genau diese Abfrage dann zusammen gebaut wird.

Wäre über jede Hilfe Dankbar.

Hintergrund ist, wir wollen alle Kunden herausfiltern, die eine Gastbestellung gemacht haben von denen die sich registriert haben.

Schöne Grüße

Holm
 

Anhänge

  • Kunde registriert.png
    Kunde registriert.png
    45,6 KB · Aufrufe: 18
  • Kundengruppe JTL.png
    Kundengruppe JTL.png
    59,3 KB · Aufrufe: 18

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.873
562
Schau dir mal die Tabellen t Shop und tInetKundeShop an, ob du in denen die Infos suchst die du willst.

Bei uns liegen die Kunden anders in der Datenbank (wir identifizieren Shopkunden z.b. nicht über die Kundengruppe), deshalb kann ich die für dein System richtige Abfrage nicht genau sagen.


Wäre das ein Ansatz?

SELECT dbo.tadresse.cVorname, ';', dbo.tadresse.cName, ';', dbo.tkunde.cKundenNr ';', dbo.tadresse.cMail';',
FROM dbo.tAdresse
Nein. Obwohl, Ansatz vielleicht.... ;)

Zunächst mal: tu dir selbst einen Gefallen und arbeite mit Aliasnamen für die Bezeichner. Dann bleibt die Abfrage einfacher lesbar. Also nicht SELECT dbo.tadresse.cVorname FROM dbo.tAdresse, sondern SELECT a.cVorname FROM dbo.tAdresse AS a (In dem Beispiel macht der Alias natürlich keinen Sinn, aber wenn deine Abfrage nachher immer komplexer wird, wirst du froh sein...)
Die Angabe des Schemanamen (dbo), kannst du auch weglassen, da das das Standardschema ist und da du sowieso nur Tabellen aus dbo ansprichst...

Dann: wenn du zwei oder mehrere Tabellen miteinander verknüpfen (join) willst (hier: tadresse und tkunde), musst du der Datenbank sagen, wie verknüpft werden soll. z.B.SELECT a.cName, k.cKundenNr FROM tAdresse a JOIN tkunde k ON a.kKunde=k.kKunde

Ausserdem hast du wild die Kommas oben gesetzt. Und was du mit den Semikolon vor hattest, weiß ich nicht genau.

Dein Ansatz von oben umgeschrieben:
Code:
SELECT a.cVorname, a.cName, k.cKundenNr, a.cMail
FROM tAdresse a
JOIN tkunde k ON a.kKunde=k.kKunde
 

Graewe

Aktives Mitglied
28. August 2014
81
2
Hi Michael,

vielen Dank für die detaillierte Erläuterung. Macht sinn :), halte ich mich gerne dran.

Ich denke tInetKundeShop war genau das was ich gesucht habe. Zumindest ist dort die Spalte nRegistriert

Aber wie ich das nun alles zusammenbekomme, keine Ahnung. Ich denke hier sollte doch jemand drüber schauen, der Ahnung hat.

Was bedeutet denn das genau? a.kKunde=k.kKunde
KAnn ich hier auch eine einzelne Kundennummer mit abfragen? Zum Beispiel die im Screenshot?

P.S. kann ich hier eigentlich durch "Abfragen" etwas kaputt machen? Solange ich keine Felder umbenenne etc?

Dann lasse ich es nämlich lieber :)
 

Anhänge

  • registrierung.png
    registrierung.png
    71,4 KB · Aufrufe: 10

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.873
562
Hi Michael,

vielen Dank für die detaillierte Erläuterung. Macht sinn :), halte ich mich gerne dran.

Ich denke tInetKundeShop war genau das was ich gesucht habe. Zumindest ist dort die Spalte nRegistriert

Aber wie ich das nun alles zusammenbekomme, keine Ahnung. Ich denke hier sollte doch jemand drüber schauen, der Ahnung hat.
Poste doch mal deinen Code und dann kann man ja "drüberschauen"

Was bedeutet denn das genau? a.kKunde=k.kKunde
Wenn du Daten aus verschiedenen Tabellen abfragst, willst du doch diese Tabellen auf eine bestimmte Weise verknüpfen.
Denn du willst ja nicht zu jedem Datensatz aus Tabelle1 alle Datensätze aus Tabelle2, sondern eben zu jedem Datensatz aus Tab1 den passenden Datensatz aus Tab2. Also musst du der Datenbank sagen, wie Tab1 und Tab2 verknüpft werden können. Und in desem Beispiel können die zwei Tabellen über den Wert im Feld kKunde verknüpft werden.

KAnn ich hier auch eine einzelne Kundennummer mit abfragen? Zum Beispiel die im Screenshot?

P.S. kann ich hier eigentlich durch "Abfragen" etwas kaputt machen? Solange ich keine Felder umbenenne etc?
Solange deine Abfragen mit SELECT beginnen greifst du nur lesend auf die Datenbank zu.
Da kann nichts passieren.

Aber generell sollte man schon wissen, was man macht, wenn man mit SQL direkt auf die Datenbank geht. Wenn du unsicher bist, kannst du dir doch mal ein lokales Test JTL zum spielen aubauen. Daort kannst du dann völlig entspannt deine Abfragen testen.
 
  • Gefällt mir
Reaktionen: aadursun

Graewe

Aktives Mitglied
28. August 2014
81
2
Erst einmal vielen Dank für die schnelle Hilfe. Ich habe hier noch einiges rumprobiert, die einzelnen Infos konnte ich soweit abfragen, aber dann nicht in eine Tabelle zusammenführen. Habe dann einfach einen Servicepartner hinzugezogen, der hatte die Abfrage schnell hinbekommen:

Für die die es evtl. mal benötigen (muss natürlich den eigenen Nummern angepasst werden):

SELECT k.cKundenNr AS Kundennummer, k.kKundenGruppe AS Kundengruppe, k.cVorname AS Vorname, k.cName AS Nachname, k.cMail AS Mailadresse,
Coalesce((SELECT TOP 1 '1' FROM kunde.vKundenGruppeShop WHERE
(kShop = 3 OR kShop = 23) AND nRegistriert = 1
AND kkunde = k.kKunde), '0') as Shopregistrierung
FROM Kunde.lvKundenDaten AS k
WHERE k.kKundenGruppe = 267
 
Ähnliche Themen
Titel Forum Antworten Datum
CSV Exportvorlage - SQL Abfrage Eigenes Feld JTL-Wawi 2.0 4
Neu Dedicated SQL Server am Limit Merkmale Betrieb / Pflege von JTL-Shop 1
ändern von Servernamen nach Neuinstallation von SQL und Verbindung mit neuem Server in der Wawi JTL-Wawi 2.0 2
Neu Arbeiten mit Lieferanten EKs - Workflows und SQL User helfen Usern - Fragen zu JTL-Wawi 6
Neu JTL → Shopify Connector: MappingTablesException / „Endpoint id is empty“ – betroffene Artikel aus Logs per SQL finden Shopify-Connector 2
welche Microsoft SQL Server Version läuft am stabilsten? JTL-Wawi 2.0 2
Neu MS Server und MS SQL Installation von JTL-Wawi 5
WMS Lagerbestand Bezeichnung in SQL Datenbank JTL-Wawi 1.11 2
Für Ihren SQL-Server wurde ein Service Pack zur Verfügung gestellt - nö, gelogen, wie kriege ich die Meldung weg? JTL-Wawi 1.11 15
Wawi Meldung SQL Servicepack zu installieren - aber welches? Update SQL2022 CU24 nicht möglich JTL-Wawi 1.11 6
Keine Rückmeldung in JTL Wawi sobald SQL Server Memory durch Database Cache ausgeslastet ist JTL-Wawi 2.0 9
Update auf 1.11 verlangt ein Update auf aktuelleren SQL Server JTL-Wawi 1.11 7
Neu SQL Lagerbestand minus in Aufträgen Eigene Übersichten in der JTL-Wawi 4
Neu SQL-Server geht eine Stunde nach Allgemeine Fragen zu JTL-Shop 4
Neu Saft-pt Datei Portugal erstellen Schnittstellen Import / Export 2
Neu Produktionsdatenblatt erstellen nicht möglich JTL-Plan&Produce - Fehler und Bugs 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
Fehlermeldung beim Artikel erstellen 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
In Diskussion Workflow mit UND / ODER - Bedingung erstellen JTL-Workflows - Ideen, Lob und Kritik 7
Neu Probleme beim Erstellen von Artikeln aus Angeboten von eBay User helfen Usern - Fragen zu JTL-Wawi 1
Neu Klarna konnte mit den angegebenen Daten keine Sitzung erstellen. Einige Feldbedingungen wurden verletzt. Betrieb / Pflege von JTL-Shop 0

Ähnliche Themen