У меня есть следующая упрощенная структура таблицы в базе данных SQL 2000:
ID AppName Key Value EffectiveDate
-- ------- ----- ------- -------------
1 App1 One Past 1/1/1900
2 App1 One Present 1/1/2010
3 App1 One Future 1/1/9999
4 App1 Two Past 1/1/1900
5 App1 Two Present 1/1/2010
6 App1 Two Future 1/1/9999
7 App2 One Present 1/1/2010
8 App2 Two Present 1/1/2010
Мне нужно иметь возможность задать вопрос:
Учитывая конкретный AppName
, покажите мневсе ТОЛЬКО САМЫЕ ПОСЛЕДНИЕ пары ключ / значение, чьи EffectiveDate <= GetDate()
Поэтому, если бы я назвал мой загадочный запрос с AppName = 'App1'
, мои результаты были бы:
ID AppName Key Value EffectiveDate
-- ------- ----- ------- -------------
2 App1 One Present 1/1/2010
5 App1 Two Present 1/1/2010
EDIT:
Значение может быть любым.(«Прошлое», «Настоящее», «Будущее») были просто использованы, чтобы сделать пример более понятным.Они вполне могли бы быть (45, «Боб», «% $ #% @ # $»).