の助けを借りて週末を無視した日から二日間。次のような構造は、次のとおりです。減算私はカレンダーとして機能<em>DateView</em>というビューを持つビュー
Date | Date_Previous | Date_Following | Weekday
20170314 | 20170313 | 20170315 | Tu
... | ... | ... | ...
私は(この図の助けを借りて)指定された日付とを持っている土曜日と日曜日を無視して、指定した日付から2日を減算する必要があります。
試験日20170314のための私の現在のアプローチは次のようになります。
SELECT TOP 2 Date
FROM DateView d
WHERE d.Weekday NOT IN ('Sa', 'So')
AND d.Date < '20170314'
ORDER BY d.Date DESC
結果がこれです:
Date
2017-03-13
2017-03-10
しかし、私は唯一の第二列を取得する必要があり、それは、あります2017-03-10。
Date
1990-01-01
1990-01-02
私は唯一の第二列を選択するに達成することができます方法:ビューは、1990年1月1日から始まるので、したがって、私はORDER BY d.date ASC
からORDER BY d.Date DESC
を変更することにより、ソート順序を逆にしようとしたが、これは、以下の結果が得られます上記の最初の結果から?理想的には、解決策は含まれていませんROW_NUMBER() over (order by ...)
についてどのよう