Ik ben net aan het stoeien geweest met een query maar hij wil nog niet echt lukken. Ik wil graag de score's voor mensen op mn site bereken maar het lukt nog niet. Ze kunnen punten krijgen voor het geven van links, stemmen op links en aangeven dat de link dood is. Nu staat dat dus allemaal in 4 verschillende tabbelen (te weten users, votes, links, dodelinks) ze hebben allemaal als danwel primary key danwel foreign key: userid, hier wil ik dus met count gaan tellen hoevaak iets voorkomt in de database. Dat gaat best goed met 1 tabel, maar met 2 worden de scores voor allebei de onderdelen gelijk. Ik vraag me af waardoor dat probleem opgelost kan worden.
Ik heb het ook nog met een JOIN geprobeerd maar zelfde resultaat
Volgens mij telt gewoon alles maar bij elkaar op en niet wat ik wil hebben. Maar hoe het wel moet
code:
1
2
3
4
5
6
7
8
9
10
11
| SELECT
users.userid, users.nickname,
COUNT(links.referer) AS linkpoints,
COUNT(votes.userid) AS votepoints
FROM
users, links, votes
WHERE
links.verify > -1 AND links.userid = users.userid AND
votes.userid = users.userid
GROUP BY
users.userid |
Ik heb het ook nog met een JOIN geprobeerd maar zelfde resultaat
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| SELECT
users.userid, users.nickname,
COUNT(links.referer) AS linkpoints,
COUNT(votes.userid) AS votepoints
FROM
users
LEFT JOIN
links
ON
users.userid = links.userid
LEFT JOIN
votes
ON
votes.userid = users.userid
GROUP BY
links.referer |
Volgens mij telt gewoon alles maar bij elkaar op en niet wat ik wil hebben. Maar hoe het wel moet