私は以下のようなテーブルを持っています
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'
これらの2つの結果を組み合わせるために、私はユニオンを次のように使用します
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
なぜこれが起こるのか私にはわかりませんか?助言がありますか?