Employee
ユーザーが特定の金属をどれだけ好きかを説明するSQLテーブルがあります。テーブルは次のようになります
"Employee_number" "Rank_1 "Rank_2 "Rank_3 "Rank_4 "Rank5
1 Gold null null null null
2 bronze Gold null null null
3 Gold platinum null null null
4 Gold copper null null null
5 Gold bronze platinum null null
6 Gold bronze platinum null null
7 Gold platinum Silver null null
8 Gold platinum Silver null null
9 Gold platinum business null null
10 null null null null null
11 Silver bronze business platinum Gold
Employee_number フィールドは一意のフィールドです。
金属の一般的なランキングを説明する表もあり、次のようになります。
Metal Rank
Gold 1
platinum 2
silver 3
copper 4
bronze 5
私がやろうとしているのは、従業員にnull値があるときはいつでも、ランキングに基づいてデフォルトの金属を入力することです
例 -> 従業員 10 の場合: すべての値は null 、簡単です。彼の rank_1 金属は Gold 、rank2_metal は Platinum 、rank3_metal は Silver 、rank 4_metal は銅、rank 5_metal は青銅になります。
ここで、employee_1 の場合、彼はすでに rank_1 の金属を持っていますが、他のランクは使用できません。そのため、rank2_metal を Platinum に、rank_3 の金属を silver に、rank_4 の金属を銅に、rank_5 の金属を 青銅 に置き換えます。
employee_2 の場合、彼は最初の金属としてブロンズ、2 番目の金属としてゴールドを持っています。彼の rank3_metal は Platinum になり、rank_4 の金属は silver になり、rank5_metal は銅になります
同様に、employee_6 の場合を考えてみましょう。彼は 3 つのランクを満たしており、ランク 4 と 5 を埋める必要があります。彼の rank_4 の金属は銀で、rank_5 の金属は銅です。
これがSQLでどのようになるかについて誰か提案がありますか、私はbigqueryを使用しています