Ik heb 2 tabellen in mijn database:
Ik wil het volgende overzicht maken in mijn cms:
Hiervoor heb ik de volgende query gemaakt:
Maar het resultaat hiervan is niet wat ik verwachtte. PHPMyAdmin geeft:
Wat doe ik verkeerd?
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| roles: users_roles: +-----+------------+ +-----+-----+ | rid | name | | uid | rid | +-----+------------+ +-----+-----+ | 1 | docent | | 43 | 1 | +-----+------------+ +-----+-----+ | 2 | conrector | | 43 | 2 | +-----+------------+ +-----+-----+ | 3 | congierge | | 46 | 1 | +-----+------------+ +-----+-----+ | 47 | 1 | +-----+-----+ | 48 | 1 | +-----+-----+ |
Ik wil het volgende overzicht maken in mijn cms:
SQL:
1
2
3
4
5
6
7
8
9
| +-----+------------+--------------+ | rid | name | aantal users | +-----+------------+--------------+ | 1 | docent | 4 | +-----+------------+--------------+ | 2 | conrector | 1 | +-----+------------+--------------+ | 3 | congierge | 0 | +-----+------------+--------------+ |
Hiervoor heb ik de volgende query gemaakt:
SQL:
1
2
3
4
5
| SELECT r.rid, r.name, COUNT(ur.uid) AS users FROM roles r LEFT JOIN users_roles ur ON r.rid = ur.rid GROUP BY ur.uid ORDER BY r.rid |
Maar het resultaat hiervan is niet wat ik verwachtte. PHPMyAdmin geeft:
SQL:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| +-----+------------+--------------+ | rid | name | aantal users | +-----+------------+--------------+ | 1 | docent | 1 | +-----+------------+--------------+ | 2 | conrector | 1 | +-----+------------+--------------+ | 2 | docent | 2 | +-----+------------+--------------+ | 2 | docent | 2 | +-----+------------+--------------+ | 2 | docent | 1 | +-----+------------+--------------+ | 2 | docent | 2 | +-----+------------+--------------+ | 2 | docent | 2 | +-----+------------+--------------+ | 2 | docent | 1 | +-----+------------+--------------+ | 2 | docent | 1 | +-----+------------+--------------+ // etc... |
Wat doe ik verkeerd?
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."