平成24年秋期試験午後問題  問2設問4

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
ももさん  
(No.1)
平成24年秋期試験午後問題  問2データベースの設問4の回答がなぜイなのかがわかりません。
私はアと回答しました。

品目が文具の取引先ごとに表をまとめたため、そのレコード数が10以上という条件をHAVINGに指定するではダメなのでしょうか?

わざわざHAVING COUNT(DISTINCT 発注表.発注コード) >= 10というように発注コードを指定して更にdistinctをつけるのはなぜでしょうか?

どなたかご教示いただけると幸いです。
どうぞよろしくお願いいたします。
2022.05.24 07:00
trgl1985さん 
(No.2)
取引先コード毎にGROUP BYして、HAVING文は後ろの発注コードに使っています。だから、発注コードの重複を削除しなければいけない。
2022.05.24 12:28
ももさん  
(No.3)
trgl1985さん

ご回答ありがとうございます
後ろの発注コードとは何でしょうか?
また、なぜ重複してはいけないのでしょうか?
2022.05.24 22:00
飯野さん 
(No.4)
WHERE
発注表.発注コード=明細表.発注コード(文具の品目コード(S01)にあたる商品コードが載ってるやつ)

ってやるだけだと、1つの発注のなかで文具をいくつか買ってたとき、
明細表の行と同じだけ出てしまうのではないでしょうか。

発注表の発注コードと
明細表の発注コードで
くっつけた表にしてね
ってだけなので、行が多いほうに揃っちゃう。

だからそのまま数えると、
1つの発注でいろんな文具10個買っただけの取引先まで
「10個あったよ!」って数えちゃう。

なのでDISTINCT 発注表.発注コード・・・発注コードのカブリは除いて数えてね
になるんではないかと思います。
2022.05.26 22:01

返信投稿用フォーム

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

その他のスレッド


Pagetop