質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

1回答

10415閲覧

Accessにて複数の特定のフィールドが同じレコードを抽出し、同じではないフィールドを編集統合しつつ、1つのレコードにまとめる方法について

mantamonaca

総合スコア12

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

1クリップ

投稿2018/09/14 08:01

編集2022/01/12 10:55

前提

以下のように、学生の履修状況を記録したテーブル「T履修情報」があります。
イメージ説明
ここで重要なポイントがカラム「年度、科目、曜日、時限、履修学生」が同じレコードは
本来存在しない、という点です。

しかし例外があります。例えば「英語補助教員」や「教育実習生」などが居て
「1つの授業に2人の教員がいる場合」です。
この場合、同じ履修情報であるにも関わらず2人の教員分のレコードが生成されます。

具体的には「2008年度、火曜日、3時限目、英語、G02さんが履修中」の授業が該当します。
同じ履修情報ですが、佐藤先生の分とスミス先生の分の2つのレコードがあります。

(ちなみに、実際のところこの履修情報はテーブルではなくDAOのレコードセットです。しかし今回分からないのは「表を目的の形にするまでの手順」なので、この点は意識していただかなくて構いません。)

実現したいこと

やりたいことは以下の通りです。

(1) 「年度、科目、曜日、時限、履修学生」が同じ、かつ「教員コード(担当教員)」が異なる複数のレコードを抽出する。

(2) 以下のルールで1つのレコードにまとめる。

教員コードを全角の「、」で区切ってまとめる。 例「T231、T881」
担当教員を全角の「、」で区切ってまとめる。 例「佐藤、スミス」
いずれも並び順は「教員コードの若い順」とする。

SQL(またはクエリ)をどの様に書けば上記が実現できるのかを
ご教示いただければ幸いです。

(説明を分かりやすくするために、処理を(1)と(2)に分けていますが、実際には分ける必要はありません。)

参考画面

上記(1)を行った後の表イメージです。
イメージ説明

上記(2)を行った後の表イメージです。
イメージ説明

補足情報(FW/ツールのバージョンなど)

Microsoft Office Access 2016

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

投稿2018/09/14 08:29

sazi

総合スコア25138

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問