私は、データを注文する数値列、情報を保持するテキストフィールド、およびステータス列を持つテーブルを持っています。ステータス列に従って番号付きデータを並べ替えるストアドプロシージャを作成するにはどうすればよいですか?
item_num item status
1 Plate new
2 Cup continued
3 Fork new
4 Spoon revised
項目が「中止」する状態で更新されたとき、私は最高の数を有する「中止」の状態で、すべてのアイテムを入れるためにitem_numを並べ替え、それに応じて他の項目の順序を変更するには、リストを必要としています。私はカップを中止した場合ので、私はこの中で結果のテーブルを更新するストアドプロシージャを必要とする:
item_num item status
1 Plate new
2 Fork new
3 Spoon revised
4 Cup discontinued
私はデータを更新し、状況によって並べ替えする方法についていくつかの方向性を必要とします。
私はMicrosoft SQL Serverを使用しています。 item_numは主キーではありません。私が持っている問題は、テーブル自体に変更を加えることができず、ストアドプロシージャでなければならないため、自分ができることには限界があり、それらの数値を変更する必要があるということです。これは、EHRの治療計画の目標です。治療計画文書が生成されると、目標番号(item_num)によって目標が一覧表示されます。したがって、ユーザーが目標を中断した場合、番号付けは間違っています。治療計画には「中止」の目標は示されていません。だから、ゴールは1,2,3,4から1,2,4へ(3番目の目標を打ち切ったら)。
私はElectronic Health Recordsシステムのフロントエンドの開発者です。このストアドプロシージャは、ユーザーがボタンをクリックすると起動する必要があります。このサイトはとても役に立ちましたが、私の最初の投稿です。謝罪。
古い
item_num
を置き換えますデータが表示された後に適用された場合、item_num列全体を書き換えません。 status_id、status_text、view_orderカラムを持つ3番目のステータステーブルを考えてみてください。ここで、view_orderはクエリで使用できる数字です –どのRDBMSを使用していますか? – Aducci
これは[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)のように聞こえるので、なぜアイテムの番号を変更する必要がありますか? 'item_num'が主キーである場合、これは悪い考えです。 – jmoerdyk