平成24年秋期午後問2

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
文系脳さん  
FE ブロンズマイスター
(No.1)
https://www.fe-siken.com/kakomon/24_aki/pm02.html

設問4の答えについて
何故ウではだめなんでしょうか?
destinctは重複をなくすためためのものであることは知っていますが、この場合発注コードの数を集計するわけですから重複消したら全部表示されなくなるのでは?

2021.03.15 13:57
なんぽんたんさん 
(No.2)
この場合、一回の注文で同じ品目で異なる商品を購入している時(例えば文具で消しゴムと鉛筆を買った時)に一回の注文ですが別々にカウントされてしまう可能性があるので、その重複を排除する必要があると思います。

分かりにくかったらすみません。
2021.03.15 14:30
文系脳さん  
FE ブロンズマイスター
(No.3)

発注表                                            明細表

発注コード  ・・・                              発注コード   商品コード    ・・・
①10000・・・(問題の図ではここまで表示)  ⇔  10000    A0001       ・・・
②10000       ・・・                          ⇔      10000              A0027       ・・・

図にはありませんでしたが、↑のように②が存在している可能性があるためということでいいんですかね?
2021.03.15 15:03
なんぽんたんさん 
(No.4)
問題であった図では正規化された状態でしたが、こちらの設問ではwhere以下で受注表、明細表、商品表、品目表を結合をしています。(=ビューの作成)

上記により、結合後に同じ発注コード、商品コードが繰り返し出来る事になります。

こうして出来上がったビューをグループ化して絞り込み処理を行うことになります。

その為、結合によって生じた重複を排除する必要があります。
2021.03.15 18:15
文系脳さん  
FE ブロンズマイスター
(No.5)
そういえば結合してましたね。
それなら確かに重複部分が出てきますし当然のことですね。
dばかり見ていてそもそも全体をしっかり読んでなかったです。
どうも時間を気にしすぎてつい飛ばしてしまいました。

それはともかくなんぽんたんさん回答ありがとうございました!
2021.03.15 20:30

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop