La consulta es poco entendible, incluso algo confusa, y muy mal escrito el JOIN. Necesitas más experiencia en SQL para meterte en consultas complejas y no es buena idea emepzar por ellas.
De todos modos, si entendí algo de lo que quieres, podría plantease así:
Código MySQL:
Ver original DC.dni,
DC.nombre,
SUM(IF(S1.saldopositivo
<> S1.saldonegativo
, 2, 0) valor
DC.dni,
DC.nombre,
SUM(IF(S2.saldopositivo
= S1.saldonegativo
, 1, 0)) valor
Siempre sobre la base de que esto es una suposición basado en lo que parece ser que quieres.
Si esto no te da lo que necesitas, antes de plantear una consulta, posteanos exactamente qué es lo que se supone que intentas calcular, y si es posible la estructura de tablas y datos de muestra para poder intentar una prueba eficiente.