0

我有两个访问数据库表:一个称为 trainers,一个称为 trainerplan。我需要能够从 Visual Studio 2010 中的 c# 应用程序中查询此数据库并显示它。我无法多次显示培训师;我必须展示一次,然后在最后展示他们提供的所有培训计划。

我可以显示所有的培训师没问题。我遇到的问题是只显示一次培训师,最后他们的所有培训师计划。现在,我将所有内容都保存到一个数组列表中。

这是来自数据库的查询,显示了所有培训师及其计划:

在此处输入图像描述

这是我需要它在应用程序中的外观:

在此处输入图像描述

我考虑过为计划创建一个单独的数组。我会让它检查名称是否相同,如果是,请将这些计划加在一起。但我不确定这是否是正确的方法,也不确定如何做到这一点。我什至不确定要搜索什么来获得一些想法。

编辑:

这是教练表

在此处输入图像描述

这是教练计划表

在此处输入图像描述

4

1 回答 1

0

I assume that your key to link between those tables names TrainerID and the following SQL Query should work, then you don't have to separate the querying.

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 回答