SQL Server 2008を使用するテーブルがあり、2つの並べ替え可能な列があるテーブルがあり、1つは手動で設定され、もう1つはシステムプロシージャによって計算されます(このプロシージャはすべてを全体として並べ替え、10から一番上の行まで並べ替えを割り当てます回数10)
ID Manual System
------------------------
1 null 300
2 2 380
3 null 500
4 null 200
そして私はそれを取得してIDを4、2、1、3にソートしようとしています
それが適用されたときに、出力がシステム上で手動ソートを取得するようにしたいと思います。別の行が追加され、手動で並べ替える場合も考慮する必要がある場合は、さらに複雑になります。
ID Manual System
-----------------------
1 null 300
2 2 380
3 null 500
4 null 200
5 5 100
したがって、新しい並べ替えは4,2,1,3,5になります
ID Manual System
-----------------------
4 null 200
2 2 380
1 null 300
3 null 200
5 5 100
何か案は?そして、Rank、Dense_Rank、Row_Numberなどを試しました。
与えられた解決策は私の例では正しいようです。ここでも要因となる3番目の列personIDがあることを忘れました。
ID Manual System PersonID
-------------------------------------
4 null 200 22
2 2 380 22
1 null 300 22
3 null 200 22
5 5 100 22
8 1 210 25
6 1 480 25
7 null 600 25
9 4 800 25
10 null 990 25
だから私は最初にそれらを人で注文し、次に手動で注文し、次に並べ替える必要があります。それでも問題が発生するようです。