grazie satifal!
ho modificato lo script così

$getnomi = "select * from caratteristichepersonale,personale,conoscenza_ling ue where caratteristichepersonale.RCIDPersonale=personale.I DPersonale and personale.IDPersonale=conoscenza_lingue.id_persona le";

if ($qualifica!="") {
$getnomi .= " and Specializzazione='$qualifica'";
}

if ($lingua!="") {
$getnomi .= " and conoscenza_lingue.lingua='$lingua'";
}

$getnomi .= " ORDER BY IDPersonale";

perchè se selezionavo solo un campo (per esempio sceglievo solo la lingua senza la qualifica) non avevo alcun risultato
ora ho tutti i risultati però alcuni sono doppi

935
1543
2438
2438
2438
2438
2438
2438
2438
2438
2438
2438
2439
2439

da cosa può dipendere?
grazie ancora