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.
e ci mancherebbe. Si mettono NULL proprio perche' NON devono essere considerati. Non usare campi NULL se ti servono anche se vuoti.
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.
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.