@fernandolk_1992, boa noite!
Existem algumas formas de resolver essa questão... criando vários parâmetros de entrada, exemplo projeto 1, 2, 3 ...assim limitando a quantas forem criadas na query.
Porém, a maneira que "eu" utilizo (possível solução) é a seguinte, com SQLServer (Compatibility level < 130):
Crio uma CTE para efetuar um split do parâmetro, essa função do split é do incrível Dirceu Resende Como quebrar um string em uma tabela de substrings utilizando um delimitador no SQL Server - Dirceu Resende, depois envolvo a query em uma CTE e utilizo um JOIN para continuar a query.
Conforme imagem:
Texto da query
Essa é uma das formas, porém , existem formar mais fácies, por exemplo a utilização da função nativa STRING_SPLIT STRING_SPLIT (Transact-SQL) - SQL Server | Microsoft Docs, contudo o nível de compatibilidade do banco deve ser maior que (130).
Olha que simples...
Porém a aplicação não aceita ainda o "Compatibility level" acima de 120...
Espero ajudar.
Abraços.
TEXTO_QUERY.sql