Buongiorno,
ho i seguenti record:

Nome: Luca
Idcat1: 1
Idcat2: 3
Idcat3: vuoto
Posizione: 1

Nome: Nicola
Idcat1: 2
Idcat2: 1
Idcat3: 5
Posizione: 2

Nome: Paolo
Idcat1: 2
Idcat2: 3
Idcat3: 5
Posizione: 4

Nome: Simone
Idcat1: 1
Idcat2: vuoto
Idcat3: vuoto
Posizione: 3

La ricerca è: 1
Vorrei avere in ordine prima i campi che hanno 1 in Idcat1, poi quelli che hanno 1 in Idcat2 e così via (escludendo quelli che non hanno in nessun idcat il valore cercato) ordinati inoltre per Posizione

select in ordine dell'esempio sopra:
Luca, Simone, Nicola

Come posso fare?
Posso fare tutto in un unica select?

Fatemi sapere.

Grazie mille.