Code:
SELECT e. * , COUNT( p.uid ) AS X, u.max_pm, u.min_verdienst
FROM `vms_emaildaten` AS e
LEFT JOIN `vms_userdaten` AS u ON e.uid = u.uid
LEFT JOIN `vms_paidmails_empfaenger` AS p ON e.uid = p.uid
WHERE (e.freigabe_fuer = '3'
OR e.freigabe_fuer = '2'
)
AND u.min_verdienst <= '10'
AND COUNT( p.uid ) <= u.max_pm
GROUP BY e.uid
dabei kommt dann folgender Fehler:
Code:
#1111 - Invalid use of group function
Wie genau funktioniert das mit der HAVING-Klausel. Weil ich fast glaube, dass es so nicht so recht funktionieren will.
EDIT: So, hab das mit dem HAVING rausbekommen. Damit geht es problemlos.
Danke Sebmaster für den Hinweis.
Code:
SELECT e. * , COUNT( p.uid ) AS X, u.max_pm, u.min_verdienst
FROM `vms_emaildaten` AS e
LEFT JOIN `vms_userdaten` AS u ON e.uid = u.uid
LEFT JOIN `vms_paidmails_empfaenger` AS p ON e.uid = p.uid
WHERE (e.freigabe_fuer = '3'
OR e.freigabe_fuer = '2'
)
AND u.min_verdienst <= '10'
GROUP BY e.uid
HAVING COUNT( p.uid ) <= u.max_pm