No podre expandirme pero....
En 1 sola consulta tu estructura (nisiquiera con un Self Join) lo veo factible... los motivos te los explico luego que ando rapidito...
Pero, hay formas de sacar lo que quieres, ya sea con un CURSORS de MySQL, ya sea con un UNION o ya sea creando otra Tabla en el motor MEMORY para que se resetee la data ya que esta en memoria volatil... y usar algo tipo:
Tabla:
Citar
mysql> create table Temporal(
-> nombres char(20),
-> abiertos int,
-> cerrados int) engine = memory;
-> nombres char(20),
-> abiertos int,
-> cerrados int) engine = memory;
Y para llenarla:
Citar
mysql> insert into Temporal values((select nombre from test where caso = 'A' group by(nombre) limit 1), (select count(caso) from test where caso = 'A' group by(nombre) limit 1), (select count(caso) from test where caso = 'C' group by(nombre) limit 1));
Tengo que usar LIMIT 1 porke si quieres insertar mas tendras que sacar la data primero en un bucle y ir insertandola ya que es la unica forma...
Luego te explico... que ando volando.