Visto che sei nuovo è bene che ti legga il regolamento.
Il titolo della discussione non è a norma.
Comunque prova a cavartela così, vista la struttura oscena.
codice:
select nazione,
sum(iif(qualifica="ufficiali di macchina",1,0)) as macchina,
sum(iif(qualifica="ufficiali di coperta ",1,0)) as coperta,
sum(iif(qualifica="sottoufficiali",1,0)) as sottoufficiali,
count(qualifica) as totale
from (
select nazione1 as nazione,qualifica1 as qualifica from qualifiche
union all
select nazione2,qualifica2 from qualifiche
union all
......
select nazione10,qualifica10 from qualifiche
) as t
where nazione <> "" and qualifica <> ""
group by nazione
Ovviamente nelle clausole sum metti i testi che devi ricercare.