virtuelle Tabelle verbinden

gnuso

Benutzer
Beiträge
6
Hallo,

ich habe folgendes Problem. Ich will eine Abfrage machen von 2 Tabellen. Ich habe in einer Tabelle customer einmal first_name last_name und customer_id (Primärschlüssel) und eine weitere Tabelle payment mit customer_id und amount.

Nun soll ich den durchschnittlichen Betrag berechnen, der größer 5 ist, den ein Kunde ausgibt. Ausgegeben soll dann der Vorname, Nachname und der durchschnittliche Leihbetrag.

Ich habe mir überlegt, erst eine Tabelle mit customer_id und amount zu erstellen:
SELECT customer_id, AVG(amount)
FROM payment
WHERE amount > 5.00
GROUP BY customer_id

Nun ist meine Frage, wie komme ich von der customer_id auf die andere Tabelle mit first_name und last_name und ersetze dann so zu sagen die customer_id durch Vor- und Nachname.

Beste Grüße gnuso
 
Werbung:
einfach joinen.

Code:
test=# create table customer(id int primary key, name text);
CREATE TABLE
test=*# create table payment(c_id int references customer, amount int);
CREATE TABLE
test=*# select c.name, avg(p.amount) from customer c left join payment p on c.id=p.c_id group by c.name;
 name | avg
------+-----
(0 Zeilen)

Das anzupassen, auch mit Deiner Where-Condition, überlasse ich Dir zur Übung.
 
Zurück
Oben