HOME»基本情報技術者試験掲示板»平成24年秋期試験午後問題  問2設問4
投稿する

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

 ももさん(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日経過したスレッドへの投稿はできません。
© 2010-2024 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop