Perdón, me quedó el mensaje a medias.
Decía que probases eso:
Código SQL:
Ver originalSELECT DISTINCT(publicaciones.idCategoria), categorias.nombre FROM publicaciones, categorias WHERE publicaciones.idCategoria = categorias.idCategoria
En vez de sacar las categorías de la tabla 'categorias' la sacas de 'publicaciones', así te aseguras que la categoría tiene al menos una publicación.
Puedes añadir 'ORDER by categorias.nombre' al final para ordenarlos.