У меня есть таблица, как это в SQL Server:Выберите все записи для лиц, которые всегда выполняют заданный критерий
Name ID StartDate EndDate
--------------------------------
James 232 2005 2015
James 232 2001 2006
Joe 600 1982 2005
Lord 608 2003 2005
Lord 608 2006 2012
Lord 608 1999 2004
Lee 122 2001 2003
Lee 122 2002 2006
Мне нужно написать запрос, который включает в себя только записи для имя/ID, если все их записи отвечают следующему критерию: StartDate не после 2005 и EndDate не может быть до 2005 года
результаты запроса должны поэтому быть как ниже:
Name ID StartDate EndDate
-------------------------------
James 232 2005 2015
James 232 2001 2006
Joe 600 1982 2005
Ниже мой запрос, который неправильно возвращает три записи для Господа и Ли:
SELECT *
FROM #FortuneCompany fc
WHERE EXISTS (
SELECT 1
FROM #FortuneCompany fc1
WHERE fc1.ID = fc.ID
AND YEAR(fc1.StartDate)<=2005
AND YEAR(fc1.EndDate)>=2005
)
Где ваш запрос? –
Какой SQL вы уже пробовали? – MiguelH
'где startdate <= 2005 и enddate> = 2005'. –