Hola de nuevo robertgustavo:
Me da gusto que la consulta te haya servido. En cuanto a la explicación, bueno, lo único que habría que explicar sería la subconsulta, al poner la cláusula DISTINCT estás especificando que no entregue registros duplicados: observa este ejemplo:
Código:
select usuario, diagnostico from @Tabla;
usuario diagnostico
---------- -----------
uno Bronquitis
uno Presión
dos Presión
dos Presión
dos Presion
select distinct usuario, diagnostico from @Tabla;
usuario diagnostico
---------- -----------
dos Presion
dos Presión
uno Bronquitis
uno Presión
Observa que en el primer caso, sin la cláusula DISTINCT el registro dos-Presión aparece duplicado, por lo tanto la consulta regresa 5 registros. La segunda consulta elimina ese duplicado y por lo tanto presenta sólo 4 registros. Es importante notar que los registros tiene que ser IDENTICOS, es decir que tienen que ser iguales en todos los campos que se listen. Observa el último registro, la palabra Presion aparece sin acento, por lo tanto
Presión NO ES LO MISMO que Presión.
La subconsulta externa es sólo para contar los registros que se repiten, previa eliminación de los duplicados.
Saludos.
Leo.