Si la relacion entre socio titular y socios adherentes es de un solo nivel, es decir un titular tiene adheridos y estos no pueden tener adheridos a su vez (en otras palabras una relación padre-hijos sin nietos). Si es así lo puedes hacer mucho mas simple con una sola tabla de la siguiente manera....
socios
codigo PK
nombre
apellido
codigotitular FK (socios.codigo)
parentesco
fechaalta
donde codigotitular es un FK referida a codigo de la misma tabla. Codigotitular será nulo cuando el socio sea titular o tendrá el valor de codigo del socio tiutlar en el caso de los adheridos... parentesco tambien será nulo en los socios titulares y guardará la filiacion en los adheridos...
Código MySQL:
Ver original s.nombre,
s.apellido,
s.fechaalta,
s.parentesco,
t.apellido,
t.fechaalta
ON s.codigotitular
=t.codigo
;
Esta consulta te da el nombre, apellido del socio, sea o no titular, su fecha de alta y en caso de no ser titular la relacion familiar, el apellido del titular y la fecha de alta del titular....
Si un socio adherido puede a su vez ser titular teniendo el adheridos todo se complica y esta solución no sirve....padre-hijos-nietos-...
Para obtener una lista de grupos familiares solo tienes que hacer
Tambien se puede conseguir el numero de integrantes de cada grupo pero te lo dejo para que lo pienses....