我正在处理一组类似于以下内容的数据。SQL Server 2005支持未知列数
StudentName | AssignmentName | Grade --------------------------------------- StudentA | Assignment 1 | 100 StudentA | Assignment 2 | 80 StudentA | Total | 180 StudentB | Assignment 1 | 100 StudentB | Assignment 2 | 80 StudentB | Assignment 3 | 100 StudentB | Total | 280
的名称和任务的数量是动态的,我需要得到的结果simlilar以下内容。
Student | Assignment 1 | Assignment 2 | Assignment 3 | Total -------------------------------------------------------------------- Student A | 100 | 80 | null | 180 Student B | 100 | 80 | 100 | 280
现在最好我想基于“到期日”可以列入/每个分配相关联的列进行排序。如果可能的话,总数应该在最后(如果可能的话,可以从查询中计算出来并且从查询中移除)。
我知道如何使用数据透视表来简单命名列的3个赋值,它正在尝试它以一种动态的方式,我还没有找到一个好的解决方案。我试图做到这一点的SQL Server 2005
编辑
在理想情况下,我想实现这一点没有使用动态SQL,因为这是违反政策的。如果这是不可能的...那么动态SQL的一个工作示例将起作用。
凯德伟大的例子看起来像我将不得不去那条路... – 2008-10-18 01:02:25
感谢您的参考链接和示例!我只需要这样做,动态SQL似乎很脏,但有时需要 – 2008-10-18 01:26:35
凯德,我只是想再次表示感谢!我有这样的工作就像现在在我身边的发条... – 2008-10-22 06:43:01