Lo que puedes hacer es una tabla temporal con el resultado intermedio que me inidicas:
Socio BS
10 14
10 8
45 4
45 12
54 5
54 42
De ahi, haces un simple query como el que te puse al principio
Código SQL
[-]SELECT COL1, sum(COL2)
FROM TABLA_TEMPORAL
GROUP BY COL1
ORDER BY COL2 // <-- opcional
Por ultimo cuando dejes de usar la tabla temporal la borras y listo.