Me dices
Código:
Tengo una tabla con categorias:
id, nombre, anio, ....
La otra tabla son noticias, con los campos anteriormente expuestos:
id, dia, mes, titular, texto, ..., idcategoria.
Si idcategoría de noticias es el FK e id de categorias el PK, yo intentaría hacer esto
SELECT c.nombre FROM noticias n INNER JOIN categorias c ON n.idcategoria = c.id WHERE TIMESTAMP(CONCAT (c.anio,'-',n.mes,'-',n.dia)) > TIMESTAMP(NOW())
Creo que esto funcionará, aunque no lo he probado. Prueba tú a ver y ya nos dirás. Si no funciona, probaremos alguna otra cosa.