【问题标题】:ASP.NET Pivot Table: How to use it with just two tables in the databaseASP.NET 数据透视表:如何将它与数据库中的两个表一起使用
【发布时间】:2025-12-21 09:25:11
【问题描述】:

我有一张 Excel 表格,其中列出了公司所有员工以及一些必要的培训课程。该列表很大很长,我需要将其合并到公司网站中。因此,我正在考虑将数据透视表与存储过程一起使用,以使该表可以灵活地扩展,以在将来添加新员工或课程。

现在的主要问题是如何将它与数据库中的两个表一起使用,即 Employee 表和 Courses 表。

员工表包括:员工姓名、ID、组织、课程ID 课程表包括:课程名称、课程ID

我想要一个在第一列列出员工姓名并在第一行列出课程的数据透视表。然后它将向我显示每个员工在每门课程下的值(是或否),这表明员工是否参加了这门课程。最后我想在表格的最后一行看到一共是的

我知道数据透视表的语法,我试图理解它并使它适用于这种情况,但我失败了。

我正在使用这个宝贵的资源: http://www.kodyaz.com/articles/t-sql-pivot-tables-in-sql-server-tutorial-with-examples.aspx

如何在这种情况下使用它?请问有什么提示吗?我只想知道查询的结构

我的初始查询是:

 选择
  *
从
(
  选择
    员工姓名、员工编号、员工组织、课程编号、课程名称
  从员工,课程

) 数据表
枢
(
  总和(ID)
  名称
  在 (
    [安全意识]、[一般安全指导]、[短信指导]、[应急响应]
  )
) 数据透视表

【问题讨论】:

  • 如果没有表的架构和您试图获得的示例输出,就无法提供帮助。

标签: asp.net asp.net-controls


【解决方案1】:

我肯定会为 winforms 和 ASP.NET 使用 DevXpress 之类的 PivotGrid 控件。

通过这种控制,您可以在设计时创建透视,甚至允许最终用户在运行时拖放字段并决定透视逻辑而不是保存他们的偏好。将此用于一些高级报告工具,用户喜欢它。

【讨论】: