問題タブ [bigquery-standard-sql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
892 参照

sql - ルックアップ テーブルから SQL の列の値を置き換える

Employeeユーザーが特定の金属をどれだけ好きかを説明するSQLテーブルがあります。テーブルは次のようになります

Employee_number フィールドは一意のフィールドです。

金属の一般的なランキングを説明する表もあり、次のようになります。

私がやろうとしているのは、従業員に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を使用しています