change_order
とchange_id
に応じて行を並べ替えるこのSQLステートメントがあります。 chnfr_hdrno
は、文書番号、chnorder
はchange_id
は、行ごとに一意のキーで、change_order
であるSQLサーバーの並べ替えInt列のバグ
select *
from change_dtl_from2
where chnfr_hdrno = 'CH000009'
order by
case
when chnorder is null
then 1
else 0
end asc, change_id asc
:
私の文は次のようになります。
私はその文を実行すると、結果はこのようになります:あなたが見ることができるように
、5のchnorder
値を持つ行が最上位のchnorder
は、その設定されている場所にありますによって昇順に並べ替えられます。どこで何をやっているのか分からない。
デフォルト値のchnorder
はヌルで、int
の列です。だから私は新しい行を追加するたびに、新しい行が一番上に表示されるので、私は混乱します。あなたが私を助けてくれることを願っています。 :)
を使用する必要があり、0は、それはあなたが見ることを期待しているものは不明だ1.の前に来ます。 'chnorder'が設定されていることを示すすべての行に対して、それらはすべて0でソートされ、その後に' change_id'の値がソートされます。 – CodeCaster
あなたの現在の出力が正しいと予想されます。 –
サンプルデータの 'chnorder'の値はすべて' NOT NULL'なので、データセット全体が 'change_id'でソートされます。**正しく' change_id'で**ソートされます。 –