Как сделать этот SQL-запрос с использованием IN (с множеством числовых идентификаторов )более эффективным?

Я уже больше часа жду этого запроса, поэтому я знаю, что, вероятно, делаю что-то не так. Есть ли эффективный способ адаптировать этот запрос :?

select RespondentID, MIN(SessionID) as 'SID'
from BIG_Sessions (nolock)
where RespondentID in (
1418283,
1419863,
1421188,
1422101,
1431384,
1435526,
1437284,
1441394,
/* etc etc THOUSANDS */
1579244 )
    and EntryDate between
    '07-11-2011' and '07-31-2012'
GROUP BY RespondentID 

Я знаю, что мой диапазон дат довольно велик, но я не могу изменить эту часть (, даты разбросаны повсюду ).

Кроме того, причина для MIN(SessionID)заключается в том, что в противном случае мы получаем много идентификаторов SessionID для каждого респондента, и достаточно одного (, он берет MIN для буквенно-цифрового идентификатора, такого как ach2a23a -adhsdx123... и получает первый в алфавитном порядке)

Спасибо

6
задан Coffee 31 July 2012 в 22:44
поделиться