0

2 つのアクセス データベース テーブルがあります。1 つはtrainers と呼ばれ、もう 1 つはtrainerplan と呼ばれます。Visual Studio 2010 の C# アプリケーションからこのデータベースを照会して表示できるようにする必要があります。トレーナーを複数回表示することはできません。それらを一度表示し、最後に、提供されているすべてのトレーナープランを表示する必要があります。

すべてのトレーナーを問題なく表示できます。私が抱えている問題は、トレーナーを一度だけ表示し、最後にすべてのトレーナー プランを表示することです。現在、すべてを配列リストに保存しています。

すべてのトレーナーとその計画を表示するデータベースからのクエリを次に示します。

ここに画像の説明を入力

アプリケーションでどのように表示する必要があるかを次に示します。

ここに画像の説明を入力

計画だけのために別の配列を作成することを考えました。名前が同じかどうかを確認し、同じ場合はそれらの計画を一緒に追加します。しかし、それが正しい方法なのか、実際にどのように行うのかはわかりません。アイデアを得るために何を検索すればよいかさえわかりません。

編集:

トレーナーテーブルはこちら

ここに画像の説明を入力

トレーナープラン表はこちら

ここに画像の説明を入力

4

1 に答える 1

0

これらのテーブル名 TrainerID と次の SQL クエリをリンクするためのキーが機能すると仮定すると、クエリを分離する必要はありません。

SELECT MAX(t.FirstName) AS FirstName,
       MAX(t.LastName) AS LastName,
       MAX(t.Phone) AS Phone,
       MAX(t.[Hours]) AS [Hours],
       ( SELECT CONVERT(varchar(10), tp.PlanID) + ' ' 
           FROM trainerplan tp
          WHERE tp.TrainerID = t.ID
          ORDER BY tp.PlanID
            FOR XML PATH('') ) AS PlanID
FROM trainers t
GROUP BY t.TrainerID ;
于 2013-11-10T07:43:23.447 に答える