I have following tables:
Project:
ProjID Projekt
11 A
12 B
13 C
personal
PID Person
1 Hans
2 Rolf
3 Ursula
4 Paul
projectzugehoerigkeit
PID ProjID ProjZeit
1 11 60
1 12 40
2 13 100
3 11 20
3 12 50
3 13 30
4 11 80
4 13 20
I am trying to create a VIEW that displays me Projekt from the Project table with the sum of the ProjZeit from projectzugehoerigkeit.
It should look like this:
Projekt ProjektStundenInsgesamt
A 160
B 90
C 150
I tried it with this:
CREATE VIEW ueberblick1 AS
SELECT project.Projekt, SUM(projektzugehoerigkeit.ProjZeit) AS ProjektStundenInsgesamt
FROM project, projektzugehoerigkeit
GROUP BY project.Projekt;
but it always looks like this:
Projekt ProjektStundenInsgesamt
A 400
B 400
C 400
Thank you
CodePudding user response:
This is not the correct way to do a join
SELECT project.Projekt, SUM(projektzugehoerigkeit.ProjZeit) AS ProjektStundenInsgesamt
FROM project, projektzugehoerigkeit
GROUP BY project.Projekt;
does a cross join between project and projektzugehoerigkeit
You need a real join like this
SELECT project.Projekt, SUM(projektzugehoerigkeit.ProjZeit) AS ProjektStundenInsgesamt
FROM project
JOIN projektzugehoerigkeit on project.projid = projektzugehoerigkeit.projid
GROUP BY project.Projekt;