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

Reklamationsqoute aus 2 Tabellen errechnen

Dieses Thema im Forum "Andere Datenbankserver" wurde erstellt von jonaschu, 13 April 2018.

  1. jonaschu

    jonaschu Neuer Benutzer

    Hallo zusammen,
    ich möchte eine Reklamationsqoute errechen. Speziell möchte ich den Anteil an Bestellungen errechnen in denen mindesten 1 Artikel gutgeschrieben wurde. Problem ist aber, dass die Gutschriften Artikel weise erfasst werden. Ich habe 2 Tabellen in dem die nötigen Infos stehen.
    Tabelle 1 -> Orders
    ID | ddate | Odate | ...

    Tabelle 2 -> Orderdetail
    ID | Orderid | Artikelid | ... | Gutschrift | ...
    in der Spalte Gutschrift wird die Höhe der Gutschrift in € angegeben.

    wie schaffe ich es Bestellungen zu zählen in denen mindesten ein Artikel gutgeschrieben wurde? Des Weiteren möchte über Where bzw. Having die Abfrage auf einen Auslieferzeitraum (ddate) begrenzen können.
    beste grüße Jonaschu
     
  2. akretschmer

    akretschmer Datenbank-Guru

    was hast denn schon so probiert? Waren folgende Versuche da schon dabei?

    Code:
    test=*# create table orders(id serial primary key, ddate date, odate date);
    CREATE TABLE
    test=*# create table orderdetail(id serial primary key, orderid int references orders, artikel int, gutschrift int);
    CREATE TABLE
    test=*# select orderid, count(artikel) from orderdetail group by orderid;
     orderid | count
    ---------+-------
    (0 Zeilen)
    test=*# select orderid, count(artikel) from orderdetail where orderid in (select orderid from orders where ddate between '2018-01-01' and '2018-06-30') group by orderid;
     orderid | count
    ---------+-------
    (0 Zeilen)
    
    *etwas* Eigeninitiative bitte.
     
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