Похоже, ваш ответ равен нулю, так как "ноль пользователей участвовало в более чем одной программе за указанный диапазон дат"
Что вы можете сделать, чтобы подтвердить это, немного изменить свой запрос, чтобы показать, в скольких программах каждый пользователь участвовал :
SELECT WPP.USERID,
WPI.EMAIL,
WPI.FIRSTNAME,
WPI.LASTNAME,
WPI.INSTITUTION,
COUNT(WPP.PROGRAMCODE)
FROM WEBPROGRAMPARTICIPANTS WPP
JOIN WEBPERSONALINFO WPI ON WPP.USERID = WPI.USERID
JOIN WEBPROGRAMS WP ON WPP.PROGRAMCODE = WP.PROGRAMCODE
WHERE CONFIRMED = 1
AND WP.PROGRAMTYPE IN ('1')
AND WP.PROGRAMSTARTDATE >= '2009-01-02'
AND WP.PROGRAMENDDATE < '2009-09-15'
GROUP BY WPP.USERID,
WPI.EMAIL,
WPI.FIRSTNAME,
WPI.LASTNAME,
WPI.INSTITUTION
ORDER BY COUNT(WPP.PROGRAMCODE) DESC,
WPP.USERID,
WPI.EMAIL
В этом списке должен быть указан каждый пользователь и количество проектов для этого диапазона дат, упорядоченных сначала по количеству, а затем по критериям, которые вы первоначально установили. Он удаляет пункт «имеющий», который кажется причиной вашей боли.