私のデータベースには、取引日と有効期限が含まれています。特定の日付の N 番目の次の有効期限を取得したい。このクエリは正常に機能します。
SELECT MAX(Expiry)
FROM (SELECT TOP(@N) Expiry
FROM (SELECT DISTINCT Expiry
FROM MTM
WHERE TradeDate = @Date
and Code = @Code
and Class = 'blablablabla') as D
ORDER BY Expiry) as T
しかし、トリプルネスティングを使用せずにそれを行うことはできますか? 基本的にMAX
、 、TOP
およびを使用する必要がありDISTINCT
ます。より良い方法はありますか?