boh! non sono certo di capire.

Controlla se le variabilii sono valorizzate ed evita di metterle nel where se risultano vuote.

ma ho molti dubbi di avere ben capito quello che fai.


Se i campi ragione,piva,email sono VALORIZZATI su tutta la tabella, va tutto ok , vengono vsualizzati i 2000 record della tabella !!! Invece se il campo ragione,piva,email di un qualsiasi record NON è valorizzato allora NON viene visualizzato quel record !!! In pratica NON CONSIDERA I valori NULL associati ai campi.
e ci mancherebbe. Si mettono NULL proprio perche' NON devono essere considerati. Non usare campi NULL se ti servono anche se vuoti.

NULL non e' zero, non e' vuoto e non e' negativo. Semplicemente non esiste. Quindi la AND salta il campo NULL perche' tu richiedi campo = '%' dove % potrebbe anche essere vuoto.