課題テーブル:
1 課題1 Aさん
2 課題1 Bさん
3 課題1 Cさん
4 課題1 Dさん
5 課題1 Eさん
6 課題2 Bさん
7 課題2 Cさん
成績テーブル:
Aさん 算数 1
Aさん 国語 2
Bさん 算数 3
Cさん 算数 2
Dさん 国語 1
目的:
課題1を算数の成績順に取得したい。
普通にLEFT JOINすると以下のようになる。
1 課題1 Aさん 算数 1
1 課題1 Aさん 国語 2
2 課題1 Bさん 算数 3
3 課題1 Cさん 算数 2
4 課題1 Dさん 国語 1
5 課題1 Eさん NULL NULL
ここから名前を1つにまとめて、成績順に。
1 課題1 Aさん 算数 1
3 課題1 Cさん 算数 2
2 課題1 Bさん 算数 3
4 課題1 Dさん NULL NULL
5 課題1 Eさん NULL NULL
このようにしたいのですが、名前でGROUP BYすると科目と成績の整合性がとれなくなってしまい、正しく順位づけできません。
ORDER BY CASE
WHEN 成績.科目 = '算数' THEN '0'
WHEN 成績.科目 IS NULL THEN '2'
ELSE '1'
END, 成績.科目, 成績.成績
サブクエリを使わずに実行する方法は、何かないものでしょうか。
No.1ベストアンサー
- 回答日時:
LEFT JOINするときに条件で科目=算数をいれておいて、
WHEREで課題1をチョイスすればGROUP BY するまでもなく人は
ユニークになると思いますが・・・
こんなかんじ
SELECT *
FROM 課題
LEFT JOIN 成績 ON 課題.人=成績.人
AND 科目='算数'
WHERE 課題='課題1'
ORDER BY COALESCE(順位,999)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 大学・短大 成績のつけ間違い 4 2023/04/24 19:44
- 学校・仕事トーク 悪いのは課題の場合?持ち物の場合? 2 2022/05/29 20:37
- 介護福祉士・ケアマネージャー・社会福祉士 ユーキャンの学習法について 2 2022/04/21 13:15
- その他(悩み相談・人生相談) 社会が実力テストで40点、中間で80点、期末で90点だとして提出物は完璧で発表も数回していたとしたら 3 2022/08/26 00:13
- 学校 課題とかびっしり書いて頑張ってるけどテストは微妙な子と課題は適当だけどテストの点が良い人ならどちらに 1 2022/06/13 23:38
- 大学・短大 大学のとある講義で[基本的に授業は教室で実施されます。特別な事情で参加できないけれど課題に取り組みた 3 2022/10/27 18:34
- 学校・仕事トーク 成績優秀でも。ある教科を落とすと卒業出来ないのですが、私はコロナになってしまってそれを落としそうなん 1 2023/01/31 01:06
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- 学校 腹痛でテストを休むことについて 3 2023/04/10 18:46
- 数学 数学ⅡBの数列を教えてください! 3 2022/05/12 19:08
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT文内での条件分岐
-
うまくいきません教えてくださ...
-
SQL、2つのテーブルで条件一致...
-
テーブル名をカラムとして取得...
-
Accessでデータシートに同じデ...
-
他のデータベースとのテーブル結合
-
update文で改行を入れる
-
一つ前に戻るには…
-
sqlplusで表示が変なので、出力...
-
Oracleで上書きImportはできま...
-
一致するデータのみ削除したい
-
単純なselectが遅くなるのです...
-
SQL*LoaderでCSVから指定した列...
-
Accessのテーブルデータを一気...
-
テーブルに存在しない列をselec...
-
複数のテーブルの項目を同時に...
-
PostgreSQLの断片化の状況を確...
-
ロックテーブルサイズ超えのエ...
-
ROWNUMでUPDATEをしたいのです...
-
SQLでSUMなどの関数でデータが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLです。こんな感じですか?あ...
-
うまくいきません教えてくださ...
-
下記の問合せを行うクエリを、P...
-
下記の問合せを行うクエリを、P...
-
update文におけるwhereとjoinの...
-
SQL CASE文に制御について
-
サブクエリを使用せずにLEFT JO...
-
access結合クエリを編集可能に
-
accessで在庫管理
-
3つの表の外部結合
-
Access 出荷管理簿を作りたい...
-
複数テーブルの結合結果を自分...
-
SQLの作成方法
-
現在庫算出方法についてお教え...
-
SQL 主キーによる自動的な表の結合
-
SQLの検索条件
-
Accessでデータシートに同じデ...
-
SELECT 文の NULL列は?
-
一つ前に戻るには…
-
テーブル名をカラムとして取得...
おすすめ情報