我的“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轻松实现吗?
提前致谢。
答案 0 :(得分:1)
最好是使用SSRS。在那里放一个矩阵,行上有一列,列上有一列。您可以在查询中进行透视(PIVOT选项),但这不允许报告的灵活性。
罗布
答案 1 :(得分: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