Operators die de afgelopen 31 dagen een entry hebben in de opdrachten tabel:
SELECT DISTINCT operators.id
FROM operators
JOIN opdrachten ON opdrachten.operator_id = operators.id
WHERE opdrachten.created > CURRENT_DATE - INTERVAL 31 DAY
Maar ik ben een beetje bang dat jij in jouw tabel geen operator_id hebt, maar gewoon de naam van operator Pietje net zo vaak hebt staan als dat hij opdrachten gedaan heeft?
Klopt ik heb maar 1 tabel met alle gegevens. Waardoor ik elke opdracht een ID meegeef en de operators niet uniek zijn in de tabel.
Ik zie dat jouw query een 2e tabel aanroept? Dit heb ik niet. Is mijn vraag ook mogelijk met 1 tabel? ik krijg jouw query niet helemaal aan de praat...
SELECT DISTINCT operatorNumber
FROM feedback
LEFT JOIN feedback_new
ON feedback_new.operatorNumber= feedback.operatorNumber AND created >= CURRENT_DATE - INTERVAL 31 DAY
WHERE created < CURRENT_DATE - INTERVAL 31 DAY
AND feedback_new.operatorNumber IS NULL
Ik zou zeker met meerdere tabellen gaan werken. Op zijn minst een tabel 'operators' en een tabel 'feedback'. Immers kun je dan bijhouden wanneer een operator weggaat om maar een voorbeeld te noemen. Om mijn argument te verduidelijken: in de tabel 'operators' krijg je eenmalig een record per operator. Wijzig je dat record dan is je database weer bijgewerkt, ook als je dan later alleen gegevens wilt hebben van alle feedbacks van ACTIEVE operators.
operators:
-id
-firstname
-email
-active <-- true voor werkzame operators en false voor operators die inmiddels weg zijn
-....
feedback:
-id
-operator_id
-createdAt
-....
YES! perfect! ontzettend bedankt voor je tijd! (Ivo P)
[size=xsmall]Toevoeging op 15/09/2014 10:09:55:[/size]
Ha frank!
ja heb ik ook al aan gedacht.
Ik heb alleen geen toegang tot de database om nieuwe tabellen (op dit moment) aan te maken.
En de persoon die hier verantwoordelijk voor is, is nu niet bereikbaar.
Maar ik zal je reactie onthouden dat is wel een mooi opzetje.