0

数多くの議論を検索しましたが、特定の問題の解決策を見つけることができませんでした。Access 2007 データベースに、Faculty テーブルと Sessions テーブルが多対多の関係にあります。教職員は複数のセッションに参加することができ、表示するセッションに応じて異なる役割 (プレゼンター、モデレーター、ファシリテーターなど) を持つことができます。教員の役割を、参加しているすべてのセッションにわたって 1 つのレコードにリストするクエリを作成しようとしています。現在、教員の役割が別のセッションで同一でない限り、教員が参加しているセッションごとに 1 つのレコードを取得します。私は、彼らが参加しているセッションとは関係なく、彼らの役割を全面的に見たいと思っています.

私はそこへの道のりの一部です。以下は、私が現在持っているクエリの SQL コードです。

SELECT DISTINCT 
  FacultySessionJoin.FacultyID, 
  Faculty.FirstName, 
  Faculty.LastName, 
  Faculty.Email, 
  FacultySessionJoin.Presenter, 
  FacultySessionJoin.Moderator, 
  FacultySessionJoin.Facilitator
FROM 
  Faculty 
LEFT JOIN 
  FacultySessionJoin ON Faculty.FacultyID = FacultySessionJoin.FacultyID
ORDER BY FacultySessionJoin.FacultyID;

結果の画像を投稿したいのですが、サイトで許可されません。これが私の問題の例です:

Faculty ID  FirstName  LastName  Presenter  Moderator  Facilitator
3            Vanessa    Smith      Yes         
3            Vanessa    Smith      Yes        Yes

クエリ内のそのようなすべてのレコードを次のような 1 行にまとめるにはどうすればよいですか。

Faculty ID  FirstName  LastName  Presenter  Moderator  Facilitator
3            Vanessa    Smith      Yes        Yes
4

1 に答える 1

0

どうですか:

SELECT 
   FacultySessionJoin.FacultyID, 
   Faculty.FirstName, Faculty.LastName, 
   Faculty.Email, 
   Max(FacultySessionJoin.Presenter), 
   Max(FacultySessionJoin.Moderator), 
   Max(FacultySessionJoin.Facilitator)
FROM Faculty 
LEFT JOIN FacultySessionJoin 
ON Faculty.FacultyID = FacultySessionJoin.FacultyID
GROUP BY 
   FacultySessionJoin.FacultyID, Faculty.FirstName, 
   Faculty.LastName, Faculty.Email
于 2012-08-17T20:52:45.500 に答える