【问题标题】:Show Child Rows as Columns将子行显示为列
【发布时间】:2012-08-31 23:22:33
【问题描述】:

我已经很久没有对关系数据库进行任何认真的工作了,尽管过去两个小时在互联网上搜索并做出了最好的猜测,但我还是无法计算出必要的 SQL 查询表达式。

我有三个相关的表: 玩家 - 包含玩家列表 教练 - 包含教练列表 评估 - 将每位教练对每位球员的评估存储为一个数字。

因此,第三个表中的每条记录都包含一个包含 PlayerID、CoachID 和评分的字段。

如果我有 10 名球员和 3 名教练,那么表 3 中应该有 30 条记录。

为了填充这些表,我想显示教练姓名(从教练表中提取)并将它们显示为 DataGridView 中的列,每个球员都有一个行,这样当你在教练列下的球员行中输入一个值,该值与相应的球员和教练 ID 一起存储在表 3 中。

我知道我今年以前在 Microsoft Access 中做过类似的事情,但我不知道如何在我的 Dataset 中构建查询,以便我可以将其绑定到 DataGridView

我尝试使用以下 SQL 查询,但它不允许我编辑 Coach1 和 Coach2 列中的值。我怀疑这是因为我在 PlayerList 和 Evaluations 之间存在一对多关系,在 Coaches 和 Evaluations 之间存在一对多关系:

SELECT        PlayerList.Number, PlayerList.Name, PlayerList.Year, PlayerList.Height, PlayerList.Notes, PlayerList.AverageSkill, AVG(Evaluations.Skill) AS CoachSkill, 
                         'SELECT Skill FROM Evaluations 
WHERE (PlayerID = PlayerList.Number) AND (CoachID = 1)' AS Coach1, 
                         'SELECT Skill FROM Evaluations 
WHERE (PlayerID = PlayerList.Number) AND (CoachID = 2)' AS Coach2
FROM            Evaluations RIGHT OUTER JOIN
                         PlayerList ON Evaluations.PlayerID = PlayerList.Number
GROUP BY PlayerList.Number, PlayerList.Name, PlayerList.Year, PlayerList.Height, PlayerList.Notes, PlayerList.AverageSkill

任何帮助将不胜感激。

应用程序详细信息:我正在使用带有 SQL-Server-CE 数据库的 Visual Studio Express 中的 C#。

阅读更多内容让我相信我想要的是 SQL-Server-CE 不支持的 PIVOT 函数。

谢谢。

【问题讨论】:

    标签: c# join datagridview


    【解决方案1】:

    您可以创建新的 DataRows 并动态添加列。然后将所有创建的行添加到 DataGridView。

    【讨论】:

      【解决方案2】:

      这与嵌套网格有关,作为分层数据

      通过这个链接详细解释如何在像你这样的场景中使用 gridview/datgrids。

      http://msdn.microsoft.com/en-us/magazine/cc164077.aspx

      希望这能解决您的问题。

      【讨论】:

      • 感谢您提供的链接,我查看了该链接,但它并不真正适用于我在数据库中的那种关系。看看上面的编辑,它可能有助于解释我想要的输出。我的数据库结构可能不正确。
      • 再次阅读文章后,我确定嵌套网格不是我需要的,我需要的是 SQL-Server-CE 不支持的 PIVOT。
      猜你喜欢
      • 2016-10-14
      • 1970-01-01
      • 1970-01-01
      • 2016-11-25
      • 2011-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多