SQL Serverストアドプロシージャ(Sql Azure上)を構築しています。要件のデータを生成できますが、私はそれをどうやって行うのか分かりません。2つ以上の値が競合した場合のSQL Serverストアドプロシージャの順序
次は、私は念のためにそこ(order by DateOfFile DESC
)最新の最初から日付で注文する必要がありますが、
File | Description | DateOfFile | OrderOfLoad | BatchID
--------+---------------+------------+-------------+---------
ABC.DOC | a description | 2016-07-12 | 2 | 10
DEF.PDF | a description | 2016-07-10 | 4 | 6
GHI.DOC | a description | 2016-07-12 | 2 | 3
XYZ.PDF | a description | 2016-07-10 | 1 | 7
WWW.XLS | a description | 2016-05-01 | 5 | 15
(これは、必要な列を持つランダムなデータである)まず、現時点ではクエリの結果であります同じ日付(AAAAMMDD)を持つ2つ以上のファイルで、次のように決定されます。最後のBatchId
番号と最初のOrderOfLoad
番号(2つ以上のファイルの日付と競合している場合のみ)注文は
- ABC.DOC ...(レコードの他の部分)
- GHI.DOC ...
- XYZ.PDF ...
- DEF.PDF ...
- WWW.XLS .. 。
あなたのうちのどれかが私にこれを達成するための方法、パフォーマンスに影響を与えないための良いものを導くことができる場合、私は感謝、私は(一時的なテーブルの上に本を挿入して、いくつかのループを作ることを考えていた好ましくありませんカーソル)が、今のところ私は考えがありません。
ありがとうございます。
クエリはどのように見えますか? Order Byには1つ以上の列を含めることができます。 'Order By DateOfFile DESC、OrderOfLoad'など – christiandev
また、同じ名前の2つのファイルがある場合は、両方を表示するか、最新のものだけを表示しますか? – christiandev
こんにちは@christiandev、順序はセルジオの注文のように見えますが、私のケースでは、BatchIdとOrderOfLoadは、日付が2つ以上ある場合にのみ表示される必要があります。 –