ovvio perchè tu dici "where like '%%' essendo il campo vuoto e quindi ricerca tutto... devi fare un controllo sui campi compilati e non inserire nella query quelli non compilati...