Si, la struttura della tabella è incasinata, ma se è un dato di partenza allora bisigna partire da li.
se stilizziamo per semplicita i nomi campi in NP, C1, C2, C3, C4, C5, C6
con un if nidificato riesci a trovare la massima categoria di quel record,
poi devi ancora
- raggruppare
- eccetera
codice:
SELECT
Tabe.NP,
Tabe.C1,
Tabe.C2,
Tabe.C3,
Tabe.C4,
Tabe.C5,
Tabe.C6,
IIf(Nz([Tabe].[C6],"")="",(IIf(Nz([Tabe].[C5],"")="",(IIf(Nz([Tabe].[C4],"")="",(IIf(Nz([Tabe].[C3],"")="",(IIf(Nz([Tabe].[C2],"")="",(IIf(Nz([Tabe].[C1],"")="","x0","x1")),"x2")),"x3")),"x4")),"x5")),"x6") AS MaxC
FROM
Tabe
;
quale DB usi ?
Facci sapere
.