我正在使用Sql Server 2008 R2。我的工作是关于商业智能和报告。 现在我有一个表如下。嵌套SQL数据库
declare @t table( prod_type NVARCHAR(20), WEEK NVARCHAR(20), COD_ACCT NVARCHAR(20), BBH NVARCHAR(20) ); INSERT INTO @t VALUES ('Salary', '41306', '12313', 'Vikas'), ('Salary', '41306', '311', 'Ramesh'), ('Salary', '41306', '55', 'Vicky'), ('Salary', '41306', '44', 'Vicky'), ('Salary', '41313', '33', 'Vikas'), ('Salary', '41313', '22', 'Vikas'), ('Salary', '41313', '11', 'Ramesh'), ('Salary', '41313', '99', 'Vicky'), ('Salary', '41320', '88', 'Vicky'), ('Salary', '41320', '76', 'Vikas'), ('Salary', '41320', '545', 'Ramesh'), ('Savings', '41306', '3', 'Vicky'), ('Savings', '41306', '27', 'Ramesh'), ('Savings', '41306', '324', 'Ramesh'), ('Savings', '41306', '887', 'Vikas'), ('Savings', '41313', '998', 'Vicky'), ('Savings', '41313', '6754', 'Vikas'), ('Savings', '41313', '3457', 'Ramesh'), ('Savings', '41313', '5434', 'Vicky'), ('Savings', '41320', '6554', 'Ramesh'), ('Savings', '41320', '3322', 'Ramesh'), ('Savings', '41320', '6542', 'Vikas') ;
现在我想在下面的格式 -
Salary ST Savings STT GT Row Labels 01-Feb-13 08-Feb-13 15-Feb-13 01-Feb-13 08-Feb-13 15-Feb-13 Ramesh 1 1 1 3 2 1 2 5 8 Vicky 2 1 1 4 1 2 0 3 7 Vikas 1 2 1 4 1 1 1 3 7 Grand Total 4 4 3 11 4 4 3 11 22
注意 - ST =工资总额,STT =储蓄总额,GT =总计(如获得枢纽在Excel)
输出我现在所做的是将表格转换为Excel,并使用COUNT of COD_ACCT在Excel和Excel中的值和在行和Prod_type中的BBH以及在Excel中的数据透视中的列中创建一周。
我可以在TSql中做同样的事情吗?这将节省我所有的枢轴麻烦。
谢谢!
欢迎StackOverflow上:如果您发布的代码,XML或数据样本,** **请那些突出线条在文本编辑器,然后单击“代码示例”按钮('{}')在编辑器工具栏上进行恰当的格式化和语法突出显示! – 2013-02-17 12:21:32
请推荐任何像PIVOT或CUBE语法和任何其他语法的简洁SQL – 2013-02-17 12:44:38