Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Hilfe beim erstellen eines SQL Befehls

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von get-away-events, 6 April 2015.

  1. get-away-events

    get-away-events Benutzer

    hi,

    ich habe von meinem Kunden den Auftrag bekommen aus einer SQL Datenbank eines Webshops eine gewisse info zu exportieren. Mein Kunde möchte allen Kunden die Artikelnummer z.B "0001-k-we" bestellt haben eine E-Mail senden. Leider kann ich keine SQL Befehle schreiben :( Daher bitte ich ein SQL Profi mir zu helfen.

    Alle Informationen stehen in drei Tabellen.

    In der 1ten Tabelle stehen die Infos von der Artikelnummer und die dazu gehörige Order ID

    Tabellenname "prstshp_order_detail"
    Artikelnummer "product_reference"
    Order ID "id_order"

    In der 2ten Tabelle kann man die Order ID zur Kunden ID zuordnen

    Tabellenname "prstshp_orders"
    Order ID "id_order"
    Kunden ID "id_contomer"

    und in der letzten Tabelle kann man die Kunden ID zur E-Mail zuordnen

    Tabellenname "prstshp_costomer"
    Kunden ID "id_contomer"
    e-Mail "email"


    kann mir jemand gerade die SQL Abfrage schreiben, sodas wenn e-mail ausgegeben werden die das Produkt mit einer Artikelnummer bestellt haben?

    greez
     
    Zuletzt bearbeitet: 6 April 2015
  2. BerndB

    BerndB Datenbank-Guru

    Hallo ....,

    so sollte es gehen.

    Du bekommst die E-Mails Adr. aller Kunden die den Artikel '0001-k-we' bestellt haben. Falls ein Kunde mehrfach diesen Artikel bestellt hat bekommst du die E-Mail aber nur einmal.

    Code:
    SELECT DISTINCT pc.email
    FROM prstshp_order_detail pod
    LEFT JOIN prstshp_orders po ON po.id_order = pod.id_order
    LEFT JOIN prstshp_costomer pc ON pc.id_customer = po.id_customer
    WHERE pod.product_reference = '0001-k-we';
    
    Gruss

    Bernd
     
  3. get-away-events

    get-away-events Benutzer

    hey bernd,

    klappt!!! danke für die schnelle und kompetente Hilfe!!!
     
  4. get-away-events

    get-away-events Benutzer

    noch ne frage Bernd,

    wie kann ich der Abfrage 2 verschiedene 2 Artikelnummern ausgeben z.B. "0001-k-we" und "0001-b-we"

    greez
     
  5. BerndB

    BerndB Datenbank-Guru

    Hi,

    hier 2 von n Möglichkeiten:

    Code:
    SELECT DISTINCT pc.email
    FROM prstshp_order_detail pod
    LEFT JOIN prstshp_orders po ON po.id_order = pod.id_order
    LEFT JOIN prstshp_costomer pc ON pc.id_customer = po.id_customer
    WHERE
        pod.product_reference = '0001-k-we'
    OR
        pod.product_reference = '0002-k-we';
    
    oder

    Code:
    SELECT DISTINCT pc.email
    FROM prstshp_order_detail pod
    LEFT JOIN prstshp_orders po ON po.id_order = pod.id_order
    LEFT JOIN prstshp_costomer pc ON pc.id_customer = po.id_customer
    WHERE
        pod.product_reference in ( '0001-k-we', '0002-k-we' );
    
    Gruss

    Bernd
     
  6. get-away-events

    get-away-events Benutzer

    top Bernd,

    dafür hast du nen Kaffee verdient :D

    Danke
     
  7. get-away-events

    get-away-events Benutzer

    hätte da noch ne Frage Bernd,

    wie muss ich die Anfrage verändern, wenn ich zu der E-Mail auch noch 2 dazugehörige andere Werte ausgegeben haben möchte. also den Vornamen, Nachnamen und die E-Mail.
    kurz nach Artikelnummer suchen und E-Mail ausgeben und dazu noch vor und Nachnamen anzeigen.^^

    Tabellenname "prstshp_costomer"
    Kunden ID "id_contomer"
    e-Mail "email"
    Vorname "firstname"
    Nachname "lastname"

    danke
     
  8. BerndB

    BerndB Datenbank-Guru

    Klar doch,

    aber ich warte noch auf den Kaffee :)


    Code:
    SELECT DISTINCT pc.email, pc.firstname, pc.lastname
    FROM prstshp_order_detail pod
    LEFT JOIN prstshp_orders po ON po.id_order = pod.id_order
    LEFT JOIN prstshp_costomer pc ON pc.id_customer = po.id_customer
    WHERE
        pod.product_reference in ( '0001-k-we', '0002-k-we' );
    Einfach mit Komma getrennt den ALIAS (op,pc oder pod) angeben. Einen Punkt und dann den Feldnamen.

    Gruss

    Bernd
     
  9. get-away-events

    get-away-events Benutzer

    danke Bernd...

    mir fehlt jetzt nur noch die tel Nummer des Kunden... leider steht diese in einer anderen Tabelle. in dieser steht auch die
    "id_customer".. wehrst du noch mal so nett ;)

    Tabellenname "prstshp_address"
    Kunden ID "id_customer"
    Tel-Nummer "phone_mobile"
     
  10. BerndB

    BerndB Datenbank-Guru

    Das sollte denn so sein.

    Code:
    SELECT DISTINCT pc.email, pc.firstname, pc.lastname, pa.phone_mobile
    FROM prstshp_order_detail pod
    LEFT JOIN prstshp_orders po ON po.id_order = pod.id_order
    LEFT JOIN prstshp_costomer pc ON pc.id_customer = po.id_customer
    LEFT JOIN prstshp_address pa ON pa.id_customer = po.id_customer
    WHERE
        pod.product_reference IN ( '0001-k-we', '0002-k-we' );
    
    Kannst aber auch gerne mal kurz anrufen, dann sag ich dir noch was dazu.

    02163 / 5719653

    Gruss

    Bernd
     
  11. BerndB

    BerndB Datenbank-Guru

    SELECT DISTINCT pc.email
    FROM prstshp_order_detail pod
    LEFT JOIN prstshp_orders po ON po.id_order = pod.id_order
    LEFT JOIN prstshp_costomer pc ON pc.id_customer = po.id_customer
    WHERE pod.product_reference LIKE '%we';
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden