0
我有一个员工的月销售汇总数据记录SQL:如何创建二维透视表
Employee ID - Month of Sales - $ amount
2 Nov 2013 255
2 Aug 2013 314
15 Jan 2014 86
我想相同的数据列,但在这样
Employee ID - Jan 2013 - Feb 2013 - Mar 2013
2 179 122 567
3 255 314 789
4 271 86 213
二维数据表
现在我目前的想法写每个月case语句,如该
(CASE
WHEN MONTH = 'JAN 2013' THEN $ AMOUNT
ELSE 0
END)
AS JAN 2013
的缺点这是不可扩展或灵活的(如果我们更改日期编码格式,则必须每个月回去添加一个新的月份代码,此外,这个查询将不得不完全重写)。
所以我只是想知道你们是否知道更好的方法来做到这一点?
为什么要将MonthOfSales存储为字符数据?它应该是日期时间。否则,你会遇到各种非常痛苦的问题。 – 2014-10-30 15:10:18
您需要使用动态SQL。这些方法在MySQL和SQL Server中相当不同,所以你的问题是不可能回答的。无论如何,您可以通过Google搜索“<您的数据库>动态数据透视表”来获得答案。 – 2014-10-30 15:12:39
无法从* that *数据集生成* this *结果集。 – Strawberry 2014-10-30 15:32:20