Datenbank Forum - für Anfänger und Profis

Willkommen im Datenbank Forum von Datenbanken-verstehen.de - Das Datenbank, Data Warehouse & Business Intelligence Forum!

Das Datenbank Forum für Anfänger und Profis ist eine Community zu den Themen Datenbanken, Data Warehouse & Business Intelligence. Nimm teil an der Community von Datenbanken-verstehen.de und tausch dich mit deinen Fragen und Lösungen mit anderen Nutzern aus.

Als registrierter Benutzer genießt Du viele Vorteile, wie

  • den vollen Zugang zu allen Foren und Unterforen
  • Kostenloses Lernmaterial inkl. Lösungen zum Thema Datenbanken
  • Zugriff auf DB-Tutorials, Best Practices und SQL-Snippets

Bevor Du einen Beitrag verfassen möchtest, kannst Du dich einfach kostenlos registrieren.

oder Einloggen mit



Beachte bitte die Forenregeln von Datenbanken-verstehen.de. Wir wünschen Dir viel Spaß im Datenbank Forum! - Dein Datenbanken-verstehen.de-Team

Auswertung über 3 Tabellen SQL

Hier werden die SQL Grundlagen behandelt...

Auswertung über 3 Tabellen SQL

Beitragvon lulu100 » Di 19. Feb 2019, 17:45

Hallo zusammen
Ich sollte dringend eine Excel von einer SQL Datenbank auslesen. Ich hoffe, jemand kann mir helfen. mit 2 Tabellen funktioniert es einwandfrei. Es geht um folgende Tabellen:
Tabelle ANSPPART:
Feld "ANREDE"
Feld "FIRMA1" (Nachname)
Feld "VORNAME"
Feld "EMAIL"
Feld "ADRESSNR" => benötige ich um bei zwei Tabellen einen Zusammenhang zu haben

Tabelle GPARNER:
Feld "FIRMA1" (Nachname oder Firmenname)
Feld "STRASSE"
Feld "PLZ"
Feld "ORT"
Feld "ADRNR" => benötige ich um bei zwei Tabellen einen Zusammenhang zu haben

Mit folgender SQL Abfrage bekomme ich eine Saubere Liste
SELECT a.ANREDE, a.FIRMA1, a.VORNAME, a.EMAIL, b.FIRMA1, b.STRASSE, b.PLZ, b.ORT, b.ADRNR, a.ADRESSNR
FROM ANSPPART a, GPARTNER b
WHERE a.ADRESSNR = b.ADRNR;

Jetzt benötige ich aber aus der Tabelle "MARKATTR" noch Felder. Ich kann beim Ansprechpartner Marketing Attribute eingeben. Müsen nicht alle sein, aber es können mehrere sein. z.B.: Code "1" = Bezeichnung "Weihnachtskarte" oder Code "3" = Bezeichnung "Hauszeitung" ....
In dieser Tabelle "MARKATTR" sind das:
Feld "MARKETINGATTRIBUTCODE"
Fell "MATEXT"
Ein gemeinsames Feld bei allen Datenbanke ist jetzt "SPRACHCODE"
Folgende SQL Abfrage habe ich gestartet aber es gelingt mir nicht. Es werden bei jeder Ansprechperson immer alle Marketingattribute angezeigt und nicht nur die, welche ich dem Ansprechpartner zugeordnet habe.

SELECT a.ANREDE, a.FIRMA1, a.VORNAME, a.EMAIL, b.FIRMA1, b.STRASSE, b.PLZ, b.ORT, b.ADRNR, a.ADRESSNR, c.MARKETINGATTRIBUTCODE, c.MATEXT, a.SPRACHCODE, c.SPRACHCODE
FROM ANSPPART a, GPARTNER b, MARKATTR c
WHERE a.ADRESSNR = b.ADRNR AND a.SPRACHCODE = c.SPRACHCODE

Eigentlich benötige ich eine folgende Liste:
Anrede, Name (Firma1), Vorname, Email, Firmenname (FIrma1), Strasse, PLZ, Ort, Marketingattribut 1,2 oder 3 , aber nur wenn dies auch beim Ansprechpartner hinterlegt ist.

Ich bin am verzweifeln und hoffe, jemand hat eine gute Idee.

Ich danke euch für die Hilfe
lulu100
 
Beiträge: 1
Registriert: Di 19. Feb 2019, 17:22

Re: Auswertung über 3 Tabellen SQL

Beitragvon Micha » Di 19. Feb 2019, 21:57

Hi lulu100,

dein Statement ist leider sehr altbacken:
SELECT a.ANREDE, a.FIRMA1, a.VORNAME, a.EMAIL, b.FIRMA1, b.STRASSE, b.PLZ, b.ORT, b.ADRNR, a.ADRESSNR
FROM ANSPPART a, GPARTNER b
WHERE a.ADRESSNR = b.ADRNR;

Das Zaubertwort, das Du brauchst, heißt SQL Joins.
Micha
 
Beiträge: 137
Registriert: So 3. Nov 2013, 12:13


Zurück zu SQL Grundlagen

 


  • Related topics
    Antworten
    Zugriffe
    Letzter Beitrag

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

  • Jetzt Fan werden
  • Newsletter abonnieren? Hier anmelden!

    Alle Informationen aus dem Portal, Blog und Forum in einem Newsletter!

    E-Mail-Adresse: