お教えください。
次のようなデータを扱います。
氏名|試験日|科目|点数
AA|20110830|国語|100
AA|20110830|算数|60
AA|20110831|国語|80
AA|20110831|算数|80
BB|20110630|国語|90
BB|20110630|算数|100
CC
DD
・
・
100点を取った日のデータに、新たにフィールドを作り、フラグを立てたいのです。(上記ではAAさんの20110830の算数のデータにも、BBさんの20110630の国語のデータにもフラグが立つように・・・)
下記のようなデータにしたい。
氏名|試験日|科目|点数|満点日
AA|20110830|国語|100|1
AA|20110830|算数|60 |1
AA|20110831|国語|80 |0
AA|20110831|算数|80 |0
BB|20110630|国語|90 |1
BB|20110630|算数|100|1
つまり、氏名と試験日が一致するもので、同じ日の点数に1つでも100が入っているデータを、ピックアップするためです。
クエリで
氏名と試験日をグループ化するところまでは行きましたが、1つでも100が入っている場合・・・というのができず。
よろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
先ず、100点を取っている、氏名、試験日を抽出するクエリーを作ります。
内容は、固有の値を「はい」にして、下記のとおりです。
100点抽出:
SELECT DISTINCT T1.氏名, T1.試験日
FROM T1
WHERE (((T1.点数)=100));
実行結果です:
氏名試験日
AA|2011/08/30
BB|2011/06/30
次に、T1とクエリー「100点抽出」を用いて、次のようにクエリーを作ります。
氏名と試験日を繋ぐ形です。
目的の抽出:
SELECT T1.氏名, T1.試験日, T1.科目, T1.点数
FROM T1 INNER JOIN 100点抽出 ON (T1.試験日 = [100点抽出].試験日) AND (T1.氏名 = [100点抽出].氏名)
ORDER BY T1.氏名, T1.試験日;
クエリーの実行結果です。
氏名|試験日|科目|点数
AA|2011/08/30|国語|100
AA|2011/08/30|算数|60
BB|2011/06/30|国語|90
BB|2011/06/30|算数|100
フラッグを作らなくとも、目的は達せらると思います。
これで如何ですか?
No.3
- 回答日時:
A____2011/11/11_国語_100_1
A____2011/11/11_算数__90_1
B____2011/11/11_国語__80_0
B____2011/11/11_算数__80_0
C____2011/11/11_国語__90_1
C____2011/11/11_算数_100_1
このような結果を得るクエリは・・・。
SELECT
氏名,
試験日,
科目,
点数,
IIf(DMax("点数","T1","氏名='" & [氏名] & "' AND 試験日=#" & [試験日] & "#")=100,1,0) AS flag
FROM T1;
No.2
- 回答日時:
下記のようにすれば100点を取った人を抽出できます。
---
SELECT A.*
FROM T_TABLE A
INNER JOIN
(SELECT 氏名,試験日
FROM T_TABLE
WHERE 点数 = 100
GROUP BY 氏名,試験日) B
ON A.氏名 = B.氏名 AND A.試験日 = B.試験日
100点以外の人も抽出したいときは
---
SELECT A.*
,IIF(IsNULL(B.氏名),'0','1') AS フラグ
FROM T_TABLE A
LEFT JOIN
(SELECT 氏名,試験日
FROM T_TABLE
WHERE 点数 = 100
GROUP BY 氏名,試験日) B
ON A.氏名 = B.氏名 AND A.試験日 = B.試験日
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。 第二回模試の3科目の各得点と合 1 2023/04/25 18:02
- Visual Basic(VBA) マクロを教えてください。 7 2023/06/01 19:47
- C言語・C++・C# C言語 プログラミング 4 2022/05/22 11:53
- MySQL 三科目合計点のクラス別平均点求めるクエリ式を教えてください 1 2023/07/04 09:44
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- 大学受験 大学入試共通テスト併用 1 2023/06/20 22:55
- 大学受験 上智大学の経済学部|経営学科の受験を考えています。 2 2022/09/08 18:16
- MySQL SQLでカラムを追加し、条件に合致した場合にフラグ(レコード)を付与する方法 2 2022/05/18 23:54
- Excel(エクセル) エクセルデーターの並び替え 5 2022/08/06 09:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「初め」か「始め」どちら?
-
”ギリギリ” を丁寧に言うには
-
この文字の変換方法を教えて
-
「取組」と「取り組み」の違い
-
次頁はなんと読みますか?
-
「50万円を超える」は50万円以...
-
「時間がたつ」の「たつ」は、...
-
「~していただきまして、あり...
-
「ん」一文字の漢字はありますか?
-
お礼は「有難う御座います」で...
-
魚へんの下の点々が大
-
木へんに夕に卩ってどう読みま...
-
エクセルでセルの中身が漢字か...
-
「基」と「元」の使い方
-
奥さんと同じ布団で寝ると勃起...
-
住所の「字(あざ)」の英文表...
-
「一つひとつ」とどうして前は...
-
“わく”に宛てる漢字について
-
19歳未満はどっち??
-
数を数える、「正」の字。読み...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「初め」か「始め」どちら?
-
”ギリギリ” を丁寧に言うには
-
この文字の変換方法を教えて
-
「取組」と「取り組み」の違い
-
「時間がたつ」の「たつ」は、...
-
「50万円を超える」は50万円以...
-
「ん」一文字の漢字はありますか?
-
次頁はなんと読みますか?
-
木へんに夕に卩ってどう読みま...
-
「基」と「元」の使い方
-
魚へんの下の点々が大
-
「~していただきまして、あり...
-
エクセルでセルの中身が漢字か...
-
「一つひとつ」とどうして前は...
-
お礼は「有難う御座います」で...
-
“わく”に宛てる漢字について
-
日差しが差す(陽射しが射す)...
-
0(ゼロ)とO(オー)の書き分け...
-
奥さんと同じ布団で寝ると勃起...
-
「お客様お一人おひとり」と書...
おすすめ情報