1

我的“FeedbackSummary”表结构是

GivenBy varchar(50)
GivenTo varchar(50)
Points  decimal(15, 2)

样本数据

Alice   Janet   4.50
Alice   Bruce   3.50
Bruce   Alice   2.87
Bruce   Janet   4.75
Janet   Alice   5.45
Janet   Bruce   3.78

我想要达到的目标

GivenBy_GivenTo Alice   Bruce   Janet
Alice           NULL    3.50    4.50    
Bruce           2.87    NULL    4.75
Janet           5.45    3.78    NULL

平台:SQL Server 2005 & 2008

如何使用 Pivot 或任何其他技术完成此操作。这可以使用 SQL Reporting Services 轻松实现吗?

提前致谢。

4

2 回答 2

1

最好是使用SSRS。在那里放置一个矩阵,行上一列,列上一列。您可以在查询中进行透视(PIVOT 选项),但这不允许报告的灵活性。

于 2009-08-06T02:05:15.520 回答
1
  SELECT t.givenby,
         SUM(CASE WHEN t.givento = 'Alice' THEN t.points ELSE NULL END) 'Alice',
         SUM(CASE WHEN t.givento = 'Bruce' THEN t.points ELSE NULL END) 'Bruce',
         SUM(CASE WHEN t.givento = 'Janet' THEN t.points ELSE NULL END) 'Janet'
    FROM TABLE t
GROUP BY t.givenby
于 2009-08-06T02:09:36.527 回答