Hallo,
Ik heb een vraagje over het opstellen van een querie. Voor een
applicatie wil ik per verzonden mailing alle links uit deze mailing
opvragen en het aantal keer dat er op een link is geklikt.
Onderstaande querie haalt wel alle links op waar op geklikt is, maar
ik wil ook de links opvragen waar _niet_ op is geklikt.
SELECT
url,
COUNT(*) AS aantal_geklikt
FROM
linktrack_geklikt AS k,
linktrack AS l
WHERE
k.linkID = l.linkID
AND
k.mailingID = '7316'
GROUP BY
l.linkID
Er zijn twee tabellen aanwezig. Dit is de structuur.
linktrack
---------
linkID
mailingID
url
linktrack_geklikt
-----------------
klikID
linkID
mailingID
userID
In de tabel 'linktrack' staan alle links per mailing, elke URL is
voorzien van een 'linkid'. De tabel 'linktrack_geklikt' bevat de
gegevens van elke 'klik', de kolom 'mailingID' is denk ik overbodig,
maar is toch voor het /gemak/ aanwezig.
De querie die ik gaf geeft dus niet het gewenste resultaat. Ik heb het
vermoeden dat ik met een zog. LEFT JOIN moet werken om i.i.g. alle
resultaten (alle links per mailing) te selecteren, maar ik kom er niet
helemaal uit.
Gr. Maarten Wierda

Likes:
![[MySQL] aantal kliks uitlezen](https://www.webhostingtalk.nl/images/WHT_rd/misc/dT.png)
Quote