Hola estibaliz2006, no entiendo muy bien la finalidad de tu consulta; pero lo que comentas deseas hacer, yo probaria utilizando ya sea un 'left join' de manera que
Código:
SELECT DISTINCT *
FROM categorias
LEFT JOIN subcategorias
ON idcat= catid
ORDER BY nombrecat ASC
O de otra manera con una subconsulta:
Código:
SELECT *
FROM categorias
WHERE categoriasid IN (SELECT categoriasid FROM subcategorias)
Donde categoriasid es la primary key de tu tabla...
Espero que te sea de utilidad, comenta si te funcionó