質問: ### 前提 以下のように、学生の履修状況を記録したテーブル「T履修情報」があります。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/90390a04f64276dc7feb267b375343c2.png) ここで重要なポイントがカラム「年度、科目、曜日、時限、履修学生」が同じレコードは 本来存在しない、という点です。 しかし例外があります。例えば「英語補助教員」や「教育実習生」などが居て 「1つの授業に2人の教員がいる場合」です。 この場合、同じ履修情報であるにも関わらず2人の教員分のレコードが生成されます。 具体的には「2008年度、火曜日、3時限目、英語、G02さんが履修中」の授業が該当します。 同じ履修情報ですが、佐藤先生の分とスミス先生の分の2つのレコードがあります。 (ちなみに、実際のところこの履修情報はテーブルではなくDAOのレコードセットです。しかし今回分からないのは「表を目的の形にするまでの手順」なので、この点は意識していただかなくて構いません。) ### 実現したいこと やりたいことは以下の通りです。 (1) 「年度、科目、曜日、時限、履修学生」が同じ、かつ「教員コード(担当教員)」が異なる複数のレコードを抽出する。 (2) 以下のルールで1つのレコードにまとめる。 教員コードを全角の「、」で区切ってまとめる。 例「T231、T881」 担当教員を全角の「、」で区切ってまとめる。 例「佐藤、スミス」 いずれも並び順は「教員コードの若い順」とする。 SQL(またはクエリ)をどの様に書けば上記が実現できるのかを ご教示いただければ幸いです。 (説明を分かりやすくするために、処理を(1)と(2)に分けていますが、実際には分ける必要はありません。) ### 参考画面 上記(1)を行った後の表イメージです。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/70dd976e132298a56914776684ea65c1.png) 上記(2)を行った後の表イメージです。 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/c2cc20d1c3febc8ec8d08dcb8fea87aa.png) ### 補足情報(FW/ツールのバージョンなど) Microsoft Office Access 2016
回答: 以下参考 DJoin 関数 - リスト文字列を取得する方法