Con lo que tu tienes lo englobas otra vez y ya esta....
Código SQL
[-]
select Totales.Año,count(Totales.hijos)
from
(
Select fechanacimiento Año,count(Codigocabra) Hijos from Cabras
where madre='ADY92023' and (LibroGenealogico='RD' or Librogenealogico='RN')
group by Año
UNION ALL
Select fechanacimiento Año,count(Codigomacho) Hijos from Machos
where madre='ADY92023' and (LibroGenealogico='RD' or Librogenealogico='RN')
group by Año
order by AÑO desc ) as Totales
group by Año
con los inner join si no tienes tabla de madres al hacer el inner join unes registros con la misma madre formando un registro solo con lo que no cuentas dos... uhmmm eso creo hoy estoy denso
