Re: 問題ID:19926について

この質問の投稿一覧へ

なし Re: 問題ID:19926について

msg# 1.1
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2020-7-14 19:50 | 最終変更
arashi1977  長老 居住地: 広島  投稿数: 1715
引用:
ここで求めたいのは「TIME_ID列(売れた日)」がそれぞれのプロモーションの開始日〜終了日の間になっていれば抽出対象データという理解をしております。
とすると正しいSQLを実施した際に以下の4つのデータが抽出対象から消えるのですが、「TIME_ID列(売れた日)」は開始日〜終了日の間の日付となっているのに抽出対象外になった理由がわかりません。
うーん、問題文の意図を私が誤読していなければ、という前提ですが。

Kazumi94 さんの想定される「「TIME_ID列(売れた日)」がそれぞれのプロモーションの開始日〜終了日の間になっていれば抽出対象データ」はたしかに大事なポイントではあるのですが、「プロモーション対象商品かどうか」という観点が抜けているのではないかと思います。
「抽出対象外になった理由がわからない」のは「期間」だけで考えているからであって「この期間に売れたということはこのプロモーションにヒットしているはず」という前提に立っている、ということになるかと思います。

現実世界の例で言えば
・7/13の週は「ガソリン10円引き」セールをしている
・7/15に「灯油」が売れた
・では「灯油」は「ガソリン10円引き」セールの商品として抽出されるのが正しいか?
ということですね。

設問のSALES3表には「PROMO_ID」があるので、PROMOTIONS表と結合するべき列はTIMEではなくPROMO_IDだと判断するのが妥当だということになるかと思います。そういう意味で、「PROMO_ID」で結合していないので抽出される行が正しくない、という答えが導き出されるのだと思います。

投稿ツリー

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.