Вы хотите одну запись на EventID, в этом случае используйте Row_Number () и разбиение.
Ваши два уровня подзапроса также не нужны, внутренние объединения включают обе таблицы в подзапросах, так что вы можете фильтровать непосредственно в основном запросе.
Последнее, что нужно отметить, это то, что литералы даты лучше всего записывать, используя YYYYMMDD, чтобы быть устойчивыми к любым региональным настройкам или настройкам даты.
SELECT EventID, EventName, EventDate
FROM (
SELECT E.EventID, ETD.EventName, ED.EventDate,
ROW_NUMBER() over (
partition by E.EventID
ORDER BY ETD.EventName, ED.EventDate) RowNum
FROM [3rdi_EventDates] AS ED
inner join [3rdi_Events] as E on ED.EventID=E.EventID
inner join [3rdi_EventTypeDetails] as ETD on E.EventTypeId=ETD.EventTypeId
where ED.EventDate Between '20110209' and '20120311'
) AS temp
WHERE RowNum = 1