2016-11-30 194 views
-1

我对报表生成器和MySQL有一个练习问题。这里是我的尝试至今:SQL查询和SSRS饼图显示百分比

/*the total amount of salary paid in each department*/ USE HR GO SELECT DEPARTMENT_ID, SUM(SALARY) AS TOTAL_SALARY FROM Employees
GROUP BY DEPARTMENT_ID;

...和我的第二个查询是这样的(我需要它进行相互分割,以获得百分比):

/*total salary paid in the company*/ USE HR GO SELECT SUM(SALARY) AS TOTAL_COM FROM Employees;

我实践中的问题是:

Ceate显示每个部门工资支付总量饼图,他们的比例相比,工资总额每年身份证在公司。

有人可以帮助我查询以及如何使用百分比制作饼图。我知道如何在报表生成器2012中制作饼图,但我不知道如何添加百分比(%)符号。

感谢

+0

这看起来并不像MySQL。 – Uueerdo

+0

我使用微软的数据库HR是提供互联网免费的,我有mysql服务器管理工​​作室从我的大学 – haider

+0

**使用HR GO SELECT SUM(工资)FROM员工在内的Employees.DEPARTMENT_ID = Departments.DEPARTMENT_ID加入部门 / (SELECT DEPARTMENT_ID,SUM(SALARY)AS TOTAL_SALARY FROM Employees GROUP BY DEPARTMENT_ID)** 这是我的新查询,但我得到错误,在子查询我不能使用多个select语句 – haider

回答

0

像这样的东西应该工作(子查询可能需要SELECT TOP 1 SUM(SALARY)....代替,没有分组收益率我不记得,如果MSSQL的查询分析器足够聪明预见聚合(总和)仅一个结果)

SELECT DEPARTMENT_ID 
, SUM(SALARY) AS TOTAL_SALARY 
, 100.0 * SUM(SALARY)/(SELECT SUM(SALARY) FROM Employees) AS PERCENT_SALARY 
FROM Employees 
GROUP BY DEPARTMENT_ID; 

编辑:新增的调整由ZLK建议,并根据海德尔的最终查询结果调整。

+0

MSSQL中不需要'TOP 1',但如果薪水是整数,则需要'1.0 * ...'。 – ZLK

+0

总工资与我的相同,各部门也相同,但没有任何百分比。当我运行您的查询 – haider

+0

@haider,'1.0 * SUM(SALARY)/(SELECT SUM(SALARY)FROM Employees)AS PERCENT_SALARY'时,所有部门都没有百分比。 – ZLK