首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

工资统计SQL如何写,用什么样的图形显示最好

2013-09-11 
工资统计SQL怎么写,用什么样的图形显示最好部门收入人数生产一部0-1万10生产一部1-2万5生产一部2-3万2生产

工资统计SQL怎么写,用什么样的图形显示最好
部门收入人数
生产一部0-1万10
生产一部1-2万5
生产一部2-3万2
生产二部0-1万8
生产二部1-2万5
生产二部2-3万2
生产三部0-1万2
生产三部2-3万3
生产四部3-4万4

要求生成这个透视表,
0-1万1-2万2-3万3-4万
生产一部10520
生产二部8520
生产三部2030
生产四部0004

还有就是生成百分位显示的,不是0-1位 而是平均工资10% 25% 50% 70% 90%各区段的透视表 怎么写


[解决办法]
行列转换,csdn 正在整理呢 http://topic.csdn.net/u/20120504/14/b339a136-a576-4ee1-9ef4-ea2b4633fde6.html?8024
[解决办法]

SQL code
--> 测试数据:[test]if object_id('[test]') is not null drop table [test]create table [test]([部门] varchar(8),[收入] varchar(5),[人数] int)insert [test]select '生产一部','0-1万',10 union allselect '生产一部','1-2万',5 union allselect '生产一部','2-3万',2 union allselect '生产二部','0-1万',8 union allselect '生产二部','1-2万',5 union allselect '生产二部','2-3万',2 union allselect '生产三部','0-1万',2 union allselect '生产三部','2-3万',3 union allselect '生产四部','3-4万',4declare @str varchar(8000)set @str=''select       @str=@str+',['+[收入]+']=sum(case when [收入]='+QUOTENAME([收入],'''')+      ' then [人数] else 0 end)' from test group by [收入]exec('select [部门]'+@str+' from test group by [部门]')/*部门    0-1万    1-2万    2-3万    3-4万生产二部    8    5    2    0生产三部    2    0    3    0生产四部    0    0    0    4生产一部    10    5    2    0*/
[解决办法]
SQL code
select  部门,  max(case 收入 when '0-1万' then 人数 else  0 end) as '0-1万',  max(case 收入 when '1-2万' then 人数 else  0 end) as '1-2万',..from  tbgroup by   部门
[解决办法]
你直接写个存储过程,然后把这个语句放到里面,你按照sql查询的形式给遍历出来就好了
我的异常网推荐解决方案:软件开发者薪资,http://www.myexception.cn/other/1391128.html

热点排行