У меня есть таблица ниже
Rate Effective_Date
---- --------------
5.6 02/02/2009
5.8 05/01/2009
5.4 06/01/2009
5.8 12/01/2009
6.0 03/15/2009
Я должен найти все ставки, действующие для текущей даты и после нее. Чтобы получить текущую эффективную ставку, я использую
SELECT TOP 1 * from table
where effective_date < '05/05/2009'
order by effective date desc
для ставок после текущей даты запрос
SELECT * from table
where effective_date > '05/05/2009'
Чтобы объединить эти два результата, я использую объединение как
SELECT TOP 1 * from table
where effective_date < '05/05/2009'
order by effective date desc
UNION
SELECT * from table
where effective_date > '05/05/2009'
Ожидаемый результат
Rate Effective Date
---- --------------
5.8 05/01/2009
5.4 06/01/2009
5.8 12/01/2009
6.0 03/15/2009
Но я получаю фактический результат как
Rate Effective Date
---- --------------
5.6 02/02/2009
5.4 06/01/2009
5.8 12/01/2009
6.0 03/15/2009
У меня нет подсказки, почему это происходит? Любые предложения?