いつもこちらの掲示板にはお世話になっております。
SQLの構文に関する質問です。
group by にて”生徒”、”好み”に分類し、下記のような結果が出ました。
(生徒、好み共にダミー変数に変換済)
生徒番号は1~2000ですが、抜けもあります。
好みは1~3の3つです(好みは複数回答可)。
生徒は1~3のいずれかに必ず回答しています。
生徒 好み
1 1
2 1
3 1
3 2
4 1
4 2
4 3
5 1
5 2
6 3
7 1
7 3
8 2
8 3
以下、生徒番号2000まで続く
この結果から、
1 「1」のみを選んでいる生徒
2 「2」、または「3」を選んでいる生徒(2と3の2つを選ぶことも含みます)
の生徒番号を抽出したいと考えています。
(上記2つの結果(1を選んでいるのか、2または3を選んでいるのか)も含みます)
つまり、「1」を選びつつ、「2」または「3」をさらに選んでいる生徒は除外し、
生徒がどちらを選んだのかを抽出したいです。
この場合、どのような構文が適切なのか、調べましたがまったくわからなかったので、
詳しい方がいらっしゃいましたらご教授お願いします。
No.3
- 回答日時:
複数選択可能ならば
下記ようにフィルド構成を変えて抽出する方が単純じゃないでしょうか?
テーブル
フィルド
生徒番号 int
好み1 true/false
好み2 true/false
好み3 true/false
元テーブルから上記テーブルを作成し、クエリかければどうかと
No.2
- 回答日時:
前提として「生徒、好み」の組み合わせがユニークであるという条件が必要
その上で1のみを選んでいる人
SELECT 生徒
FROM テーブル
GROUP BY 生徒
HAVING SUM(CASE 好み WHEN 1 THEN 1 ELSE 2 END) = 1
「2」、または「3」を選んでいる生徒
SELECT 生徒
FROM テーブル
GROUP BY 生徒
HAVING SUM(CASE 好み WHEN 2 THEN 1 WHEN 3 THEN 1 ELSE 0 END) > 0
> 「1」を選びつつ、「2」または「3」をさらに選んでいる生徒は除外し、
生徒がどちらを選んだのかを抽出したいです。
ちょっと意味不明。
もう少しわかりやすく例示のサンプルで具体的な番号を含めて提示してください
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IFで条件を分岐させてのINSERT...
-
ビューで引数を使いたい
-
SQLで○○の値以外を持っているレ...
-
ACCESS 一番最新の日付の金額...
-
Accessで在庫管理を
-
DB2 業種毎に連番をつけたいの...
-
二つの表の項目を比較して値を...
-
2つのテーブルを結合して合計(...
-
SQLの書き方
-
SQL文を教えて下さい
-
「マスタ」と「テーブル」の違...
-
3つ以上のテーブルをUNIONする...
-
accessのエクスポートエラーに...
-
ACCESSのSQLで、NULLかNULLでな...
-
Access 1レコードずつcsvで出力...
-
Accessにインポートしたら並び...
-
sqlserverで集計結果をUPDATEし...
-
SQLServerで同一条件レコードの...
-
ACCESS2007 フォーム 「バリア...
-
クエリのキャンセルがいつにな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS 一番最新の日付の金額...
-
ビューで引数を使いたい
-
IFで条件を分岐させてのINSERT...
-
SQL 件数取得を速くしたい
-
複数のテーブルから同じ条件で...
-
Accessで在庫管理を
-
select into句のトランザクショ...
-
INSERT文でサブクエリ
-
SQL文を教えて下さい
-
Access関数について クエリで空...
-
DB2 業種毎に連番をつけたいの...
-
Insert Into Select での重複に...
-
ACCESSの作り方
-
リレーションシップ 全データを...
-
空のテーブルの判別
-
SQLで○○の値以外を持っているレ...
-
SQL文の作成でなやんでいます。
-
二つの表の項目を比較して値を...
-
(初心者です)パフォーマンス...
-
大学でSQLの授業があるのですが...
おすすめ情報