sql中的动态分组和雇佣结果

时间:2016-06-07 09:29:10

标签: sql sql-server sql-server-2008

我需要在sql中生成Hierarchical summary。

用户将列作为参数发送到存储过程的分组,因此group by是动态的

render :json => {:result => true,:object => @user.map{|x|  {"id" => x[:id],"code" => x[:code],"name" => x[:name]}}}

我需要产生如下结果 Final output

deptno

对群组的个别查询
For eg. User will send to group records by DeptNo and then by Job columns

按DEPTNO,作业

查询分组
Select d.DEPTNO,Count(EmpNo) EmpCount, Sum(Sal) Total from Emp e inner join Dept d
on e.DEPTNO=d.DEPTNO GROUP BY  d.DEPTNO;

DeptnobyJob

目前用于生成结果的查询如下

select  Deptno, Job, Count(EmpNo) EmpCount, Sum(Sal) Total from emp group by DEPTNO,Job  order by deptno

还有其他更好的方法可以获得汇总结果。 它是在mvc web中显示而没有ssrs

1 个答案:

答案 0 :(得分:0)

GROUPING SETSRollup的替代解决方案是动态SQL。构建查询字符串并使用Execute执行它。如果有人想尝试,请做这样的事情:

declare @Query nvarchar(max) = 'select column1,column2,Column3, Count(*) from table1 group by ' + @param1 + ',' + @param2 + ',' + @param3;

Execute(@Query)

您可以根据自己的喜好使用参数构建动态查询,然后执行它以获得所需的结果。是SQL注入的商品!