Olá Leandro,
Se entendi bem, você deseja usar um WHERE variável, dependendo do que for selecionado, chamado de WHERE dinâmico. Nesse caso, terás duas opções, uma é usar algo parecido com isso:
Code Block
SELECT
*
FROM
Tabela
WHERE
(Cliente = ISNULL(@Cliente, Cliente)) AND
(Campanha = ISNULL(@Campanha, Campanha)) AND
(Periodo = ISNULL(@Periodo, Periodo))
Ou então, a outra solução, que eu recomendo, é usar o sp_executesql.
Leia sobre ele neste site:
http://www.sommarskog.se/dyn-search.html
Se tiver dificuldades, retorne.
Abraço!!