Discúlpame gnzsoloyo, sí que he copiado y probado el ejemplo que me diste, lo que pasa es que como no obtenía ningún resultado positivo hice un corta/pega de la versión original preguntándote si
FechaAlta>DATE_ADD(curdate(), interval -3 year)
equivalía a:
FechaAlta>DATE_SUB(CURDATE(), INTERVAL 3 YEAR)
Además, ¿cómo no me voy a molestar en probar lo que me dices si mis conocimientos son muy escasos y agradezco mucho cualquier ayuda desinteresada hombre? Sería una falta de respeto y de todo imperdonable por mi parte.
Creo que la clave del problema puede estar como bien dices en la claúsula HAVING. Como sea eso tan sencillo, me he estado dando cabezazos contra un muro de hormigón una y otra vez jajaja.
Cuando llegue a casa lo pruebo y te digo.
Un saludo y muchas gracias de nuevo.