ここから本文です

SQL文で 例ですが、登録しされている生徒全員が履修している科目一覧を表示 みた...

num********さん

2018/5/2410:43:27

SQL文で
例ですが、登録しされている生徒全員が履修している科目一覧を表示
みたいな問い合わせがしたいです。

生徒全員の成績が60点以上のテストの科目一覧みたいな全員をどのようにすればいいかわかりません

SELECT 科目名
FROM 科目、履修
WHERE ??

閲覧数:
36
回答数:
3

違反報告

ベストアンサーに選ばれた回答

プロフィール画像

カテゴリマスター

nora1962jpさん

2018/5/2422:10:35

推測ですが

科目(科目コード、科目名)
履修(生徒、科目コード、成績)

とすると

SELECT 科目名
FROM 履修 LEFT JOIN 科目
ON 履修.科目コード = 科目.科目コード
GROUP BY 科目名
HAVING COUNT(*) = COUNT(科目.科目コード)

を試してください。

> 生徒全員の成績が60点以上のテストの科目一覧

SELECT 科目名
FROM 科目
WHERE NOT EXISTS
( SELECT 1 FROM 履修
WHERE 履修.科目コード = 科目.科目コード
AND 履修.成績 < 60 )

とか。
ちょっと気になる点があるので確認して見ますけど。

  • nora1962jpさん

    2018/5/2423:49:59

    気になったのは履修の成績がNULLだった時の扱いです。
    成績がNULLの場合条件を満たしていないとするなら

    SELECT 科目名
    FROM 科目
    WHERE NOT EXISTS
    ( SELECT 1 FROM 履修
    WHERE 履修.科目コード = 科目.科目コード
    AND ( 履修.成績 < 60 or 履修.成績 is null ) )

    にしてください

  • その他の返信(2件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

原沢信道さん

2018/5/2412:53:07

取りあえず列名を想定し回答します。
科目.生徒ID=履修.生徒ID AND 成績>=60
です。

pdp********さん

2018/5/2412:19:15

テーブルレイアウト分からないと答えよう無いです。
科目と履修のカラムを教えて下さい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる