Ankündigung

Einklappen
Keine Ankündigung bisher.

SQL abfrage über 2 tabellen mit errechneter anzahl

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SQL abfrage über 2 tabellen mit errechneter anzahl

    Hallo zusammen,

    ich habe eine Frag bei welcher ich nicht so recht weiter komme.

    Ich habe mir folgende Aufgabe gestellt: Ich möchte alle Kunden ausgeben welche von Kundenummer "eins" geworben wurden - dazu soll die Anzahl der Bestellungen aus einer anderen Tabelle geholt werden und als zusammen gerechnete Zahl erscheinen.

    Wunschergebniss:
    Kundennummer Registrierungsdatum Anzahlbestellungen
    6 01.01.2016 0
    105 01.03.2017 4
    Folgende Tabellen stehen mir dazu dann bereit:
    www (Wer warb wen) mit id, date, kunde, werber
    und
    bestellungen mit id, wer, wann...

    Folgende beiden Lösungen habe ich weiß aber nicht wie ich diese nun verknüpfe:
    Code:
     SELECT www.kunde, www.date
               FROM www
               WHERE www.werber = '1'
               ORDER BY kunde ASC
    Hiermit bekomme ich dann die geworbenen Personen mit werbedatum von Werber=1
    und
    mit folgendem Code bekomme ich alle kundennummern (wer) mit der anzahl der bestellungen (anzahlbestellungen)
    Code:
    SELECT bestellungen.wer, COUNT( bestellungen.wer ) AS anzahlbestellungen
              FROM bestellungen
              GROUP BY bestellungen.wer
    Aber wie verknüpfe ich das ganze nun über www.kunde = bestellungen.wer...
    Benötige ich ein InnerJoin? Könnt ihr mir hierbei eine Hilfestellung geben. Ich bekomme bei manchen abfrage so kuriose Ergebnisse dass ich diese nicht mal nachvollziehen kann

    liebe Grüße Adrian

    Code:
    SELECT www.kunde, www.date, COUNT( bestellungen.wer ) AS anzahlbestellungen
    FROM www, bestellungen
    WHERE www.werber = '1'
    AND bestellungen.wer = www.werber
    GROUP BY www.kunde
    Leider stimmt die anzahlbestellungen noch nicht?

  • #2
    Aber wie verknüpfe ich das ganze nun über www.kunde = bestellungen.wer...
    Mit einem JOIN.

    Kommentar


    • #3
      Mit folgender Abfrage scheint es (fast) zu klappen.
      Code:
      SELECT www.kunde, www.date, COUNT( bestellungen.wer ) AS anzahlbestellungen
      FROM www, bestellungen
      WHERE www.werber = '1'
      AND bestellungen.wer = www.kunde
      GROUP BY www.kunde
      Es werden nur keine Kunden ohne Bestellungen angezeigt. Mit dem JOIN muss ich mich mal näher auseinandersetzen.

      Kommentar


      • #4
        Mit folgender Abfrage scheint es (fast) zu klappen.
        Das nennt sich CROSS JOIN, welcher jeden Datensatz (der einen Tabelle) mit jedem (der anderen Tabelle) kombiniert.

        Kommentar

        Lädt...
        X