Угу, для IN нельзя параметром передавать диапазон значений. Потому текст запроса придется формировать динамически.
Но можно вот так извернуться, создав временную таблицу для значений:
Код:
create table #ListID (ID int)
Заполняем таблицу значениями, затем выполняем основной запрос:
Код:
select sum(price*qnt) as total1 from buy inner join #ListID on buy.ID=#ListID.ID