SQL Anweisung Kundengruppe

Brossi66

Aktives Mitglied
12. Juli 2017
52
0
Hallo Zusammen, ich benötige eine Abfrage SQL mit Kundendaten (EMail, Name, Firma aus Tabelle tAdresse) und dazu die Kundenkategorie (weiß nicht in welcher tabelle die steht)

Kann mir jemand diese SQL Anweisung nennen?
 

ergowebshop

Sehr aktives Mitglied
14. Januar 2022
190
50
Also alle Adressen aller Ansprechpartner aller Kunden mit Kundenkategorie?
Ungetestet und bestimmt nicht optimal, so in etwa:
SQL:
SELECT * FROM tAdresse
left join tAnsprechpartner on tAnsprechpartner.kKunde=tAdresse.kKunde
left join tKunde on tkunde.kKunde=tAdresse.kKunde
left join tKundenKategorie on tkunde.kKundenKategorie=tKundenKategorie.kKundenKategorie
Und statt dem Sternchen da nur die Felder hinschreiben die du brauchst (Name, Mail, Firma, ...)
Und dahinter, falls du vielleicht eh nur eine bestimmte Kundengruppe brauchst:
SQL:
 where tKundenKategorie.cName = 'Privatkunden oder so'
 

Brossi66

Aktives Mitglied
12. Juli 2017
52
0
Danke erstmal, aber es wird bei mir immer der gleiche Datensatz mehrfach angezeigt.

Ich brauche die Kundendaten mit Email und die Ansprechpartner mit Email und dazu jeweils die Kundengruppe in einer Abfrage zum Newsletterversand.
(Kundenkategorie war leider die Falsche angabe)
 

Brossi66

Aktives Mitglied
12. Juli 2017
52
0
Das Mailprogramm hat eine Anbindung an die Datenbank. Wird also direkt an die Datenbank angebunden und somit ständig automatisch aktualisiert
 

ergowebshop

Sehr aktives Mitglied
14. Januar 2022
190
50
... die Kundengruppe in einer Abfrage zum Newsletterversand.
(Kundenkategorie war leider die Falsche angabe)
Dann halt Gruppe statt Kategorie, ein distinct um raus zu filtern wenn Kunde gleich Ansprechpartner ist, man will ja keine doppelten Mails, und noch etwaige fehlende Angaben rausgefiltert.

SQL:
SELECT distinct(tAdresse.cMail), tAdresse.cName, tKundenGruppe.cName FROM tAdresse
left join tAnsprechpartner on tAnsprechpartner.kKunde=tAdresse.kKunde
left join tKunde on tkunde.kKunde=tAdresse.kKunde
left join tKundenGruppe on tkunde.kKundenGruppe=tKundenGruppe.kKundenGruppe where tAdresse.cMail is not null and tAdresse.cMail <> ''
Was meinst du, Enrico?
 

mh1

Sehr aktives Mitglied
4. Oktober 2020
1.756
528
Ich kann und will natürlich nicht für Enrico sprechen, aber meinerseits ein Gedanke dazu:
Du willst ja wahrscheinlich irgendeinen Newlsetter Dienst (Sendinblue oder so) über eine API an deine Wawi anknüpfen. Dazu würde ich dann aber einen neuen Login auf dem SQL-Server anlegen und dann diesen der API geben. Der neue "Newsletter User" sollte dann auf deiner Datenbank ausschließlich nur die Emailadressen lesen dürfen (Betonung auf "nur lesen"...).
Die meisten hier benutzen ihre Wawi ja einfach mit dem sa. Diesen Account würde ich aber niemals einer fremden API geben ;)

Wir machen hier im Haus zu diesem Zweck einen Export in eine CSV und importieren das bei Sendinblue. Ich will keinen Newsletterdienst, der auf unsere Wawi zugreift.
 
  • Gefällt mir
Reaktionen: Enrico W.

Enrico W.

Administrator
Mitarbeiter
27. November 2014
9.031
1.877
Jepp, @mh1 trifft es schon ganz gut. Ich finde es bedenklich, wenn Fremdsoftware auf deine Datenbank zugreifen darf.
Da finde ich den Weg über die CSV - und damit halt über die Ameise - wesentlich sicherer, zumal der auch automatisiert werden kann.
 

Brossi66

Aktives Mitglied
12. Juli 2017
52
0
Dann halt Gruppe statt Kategorie, ein distinct um raus zu filtern wenn Kunde gleich Ansprechpartner ist, man will ja keine doppelten Mails, und noch etwaige fehlende Angaben rausgefiltert.

SQL:
SELECT distinct(tAdresse.cMail), tAdresse.cName, tKundenGruppe.cName FROM tAdresse
left join tAnsprechpartner on tAnsprechpartner.kKunde=tAdresse.kKunde
left join tKunde on tkunde.kKunde=tAdresse.kKunde
left join tKundenGruppe on tkunde.kKundenGruppe=tKundenGruppe.kKundenGruppe where tAdresse.cMail is not null and tAdresse.cMail <> ''
das passt schon mal. Hab aber noch einige Lieferanten mit in der Liste. Hab die Felder mit Vorname und Firma noch ergänzt, funktioniert aber.
 

Brossi66

Aktives Mitglied
12. Juli 2017
52
0
Ich kann und will natürlich nicht für Enrico sprechen, aber meinerseits ein Gedanke dazu:
Du willst ja wahrscheinlich irgendeinen Newlsetter Dienst (Sendinblue oder so) über eine API an deine Wawi anknüpfen. Dazu würde ich dann aber einen neuen Login auf dem SQL-Server anlegen und dann diesen der API geben. Der neue "Newsletter User" sollte dann auf deiner Datenbank ausschließlich nur die Emailadressen lesen dürfen (Betonung auf "nur lesen"...).
Die meisten hier benutzen ihre Wawi ja einfach mit dem sa. Diesen Account würde ich aber niemals einer fremden API geben ;)

Wir machen hier im Haus zu diesem Zweck einen Export in eine CSV und importieren das bei Sendinblue. Ich will keinen Newsletterdienst, der auf unsere Wawi zugreift.
es ist der Supermailer - lokal installiert und importiert die daten nur von der SQL datenbank, nur lesezugriff
 

Enrico W.

Administrator
Mitarbeiter
27. November 2014
9.031
1.877
Nur Lesezugriff auf alle Daten - unabhängig davon, ob Datenschutzinteressen bestehen oder nicht.
Musst halt wissen, wer da was einstellen kann/darf.
 

Brossi66

Aktives Mitglied
12. Juli 2017
52
0
Dann halt Gruppe statt Kategorie, ein distinct um raus zu filtern wenn Kunde gleich Ansprechpartner ist, man will ja keine doppelten Mails, und noch etwaige fehlende Angaben rausgefiltert.

SQL:
SELECT distinct(tAdresse.cMail), tAdresse.cName, tKundenGruppe.cName FROM tAdresse
left join tAnsprechpartner on tAnsprechpartner.kKunde=tAdresse.kKunde
left join tKunde on tkunde.kKunde=tAdresse.kKunde
left join tKundenGruppe on tkunde.kKundenGruppe=tKundenGruppe.kKundenGruppe where tAdresse.cMail is not null and tAdresse.cMail <> ''
Was meinst du, Enrico?
Soweit ich sehe holt es aber die einzelnen Ansprechpartner nicht mit ab
 

Brossi66

Aktives Mitglied
12. Juli 2017
52
0
Jemand noch eine Idee, wie auch die Kunden-Ansprechpartner Daten mit in die gleiche Abfrage einbezogen werden? Die Daten dazu sind nicht mit in den tAdressen sondern in tAnsprechpartner direkt. Diese Mailadressen sollen auch einbezogen werden.
 

Ähnliche Themen