購買管理データ分析
中級
購買管理データ分析
中級購買担当者・調達チームのリアルな業務シナリオを題材に、仕入先別・発注状況・金額集計を通じてSQLの実践力を鍛えます。集計・JOIN・ウィンドウ関数を段階的に習得できます。
問題一覧
#138 仕入先一覧を取得する
vendorsテーブルから全ての仕入先情報を取得してください。
#139 アクティブな仕入先を絞り込む
vendorsテーブルからis_activeが1(有効)の仕入先の名前と地域のみを取得してください。
#140 発注済み・完了済みの発注書を確認する
purchase_ordersテーブルからstatusが"completed"の発注書を発注日の新しい順に取得してください。
#141 仕入先ごとの発注件数を集計する
purchase_ordersテーブルをvendor_idでグループ化し、各仕入先の発注件数を多い順に取得してください。
#142 仕入先名と発注金額を結合して取得する
vendorsとpurchase_ordersをJOINし、仕入先名・発注日・合計金額を取得してください。
#143 仕入先ごとの発注総額を求める
vendorsとpurchase_ordersをJOINし、仕入先名ごとの発注総額を多い順に取得してください。
#144 キャンセルされた発注の仕入先を確認する
vendorsとpurchase_ordersをJOINし、statusが"cancelled"の発注書の仕入先名と発注日を取得してください。
#145 発注書ごとの明細件数を集計する
purchase_itemsテーブルをpurchase_order_idでグループ化し、各発注書の明細件数を取得してください。
#146 発注明細の合計金額を計算する
purchase_itemsテーブルから発注書IDごとに、unit_price × quantityの合計を求めてください。
#147 仕入先・発注書・明細を3テーブル結合する
vendors・purchase_orders・purchase_itemsを結合し、仕入先名・商品名・数量を取得してください。
#148 発注がない仕入先を特定する
LEFT JOINを使い、purchase_ordersに1件も発注がないvendorsの名前を取得してください。
#149 月別の発注総額を集計する
purchase_ordersテーブルから月別(YYYY-MM形式)の発注総額を時系列順に取得してください。
#150 発注総額が平均を超える発注書を抽出する
purchase_ordersテーブルからtotal_amountが全体平均を超える発注書をすべて取得してください。
#151 仕入先ごとの発注総額ランキングをつける
仕入先名と発注総額を集計し、RANK()ウィンドウ関数で発注総額の降順ランキングを付けてください。
#152 各仕入先の最新発注日をCTEで求める
CTEを使い、各仕入先の最新発注日(latest_order)を求め、仕入先名と一緒に表示してください。
#153 最も高単価な明細商品を仕入先別に特定する
CTEを使い、仕入先ごとに最も高いunit_priceの明細商品名と単価を取得してください。
#154 発注ステータス別の件数と割合を求める
purchase_ordersテーブルで、status別の件数と全体に占める割合(%、小数点1桁)を求めてください。