IDが重複していないテーブルがあります。日付フィールドと「なし」、「低」、「中」、「高」などの値を持つフィールドタイトルRISKがあります。それは次のようになります。case文を使用して別の行の値を割り当てるにはどうすればよいですか?
ID Date Risk
1743333 12/1/2017 Low
1743333 12/2/2017 Low
1743333 12/3/2017 None
1743333 12/4/2017 None
1743333 12/5/2017 Medium
1743333 12/6/2017 High
1265464 12/1/2017 High
1265464 12/2/2017 None
1265464 12/3/2017 None
1265464 12/4/2017 None
1265464 12/5/2017 High
1265464 12/6/2017 High
RISKフィールドは、私が持っているか、それのための基準がある正確に把握していない他のデータポイントとコードでの計算によって構築されています。 「なし」の値は、計算基準に基づいてLow、MedまたはHighを割り当てるための十分な情報がない場合に、本質的に割り当てられます。私がしようとしているのは、RISK = 'None'の値がある場合、前の行のRISK値をその特定のIDの前の日付(1日前)に基づいて割り当てたいと思います。したがって、任意の日に、リスクが「なし」以外のものであり、日数の進行として「なし」になる場合は、前回の最新の「なし」の値を維持したいと思います。新しいテーブルはこのように見て終わるでしょう:
ID Date Risk
1743333 12/1/2017 Low
1743333 12/2/2017 Low
1743333 12/3/2017 Low
1743333 12/4/2017 Low
1743333 12/5/2017 Medium
1743333 12/6/2017 High
1265464 12/1/2017 High
1265464 12/2/2017 High
1265464 12/3/2017 High
1265464 12/4/2017 High
1265464 12/5/2017 Medium
1265464 12/6/2017 High
私はそれに慣れていないが、私は変数の代入と行を反復処理を考えていました。私はMySQLを使用しており、これをケースステートメントに実装しようとしているので、結果を既存のテーブルの新しいフィールドに割り当てることができます。 MySQLの同じテーブルへの参照または参加に問題が発生しました。長年の投稿に感謝して申し訳ありません!次のように
私たちにいくつかのコードを見せてください。 – Forbs
'case expressions'は行全体ではなく現在の行でのみ動作します(nbは" case文 "ではありません)。 –