了解公司员工在公司可用的工作

时间:2015-09-26 18:06:28

标签: php mysql count

我正在尝试获得项目中的员工数量,但我仍然坚持使用3个表来计算。我能够获得具有相同工作的员工数量,但我无法在该项目中获得那些工作的“总数”。

我有3张桌子

employees | job | project

表员工_ 看起来像:

emp_id | emp_name | emp_job
   1       phil        1
   2       scott       4
   3       alex        3
   4       bob         1
   5       dave        2

表格工作_ 看起来像:

job_id |  job_name  | job_req | proj_id
   1     programmer    cert        1
   2       manager      ba         1
   3       manager       n/a       2
   4     programmer     ba         2

表项目_ 看起来像:

proj_id | proj_name | proj_info
    1        dev1       lalala
    2        dev2       tralala

所以查询应该输出

项目1共有3名员工

项目2共有2名员工

  • 编辑下面添加的更多信息我还添加了一些上面的表数据。

我想在PHP中尝试这样做我已经在线查看了一些示例并且现在看着它们并不是我需要的。

这是我用来计算员工的工作的查询,但我需要它作为所述项目的员工#。我会使用WHERE但不是我的表格如何设置。

// $ jon = mysql_query(“SELECT COUNT(employee_job)FROM”。“DB_EMP。”“);         $ emp = mysql_free_result($ jon);

我试图使用扩展此查询 http://www.w3schools.com/sql/sql_groupby.asp

没有运气,因为我现在认为现在要解决我的问题了。

3 个答案:

答案 0 :(得分:0)

这可能会让你朝着正确的方向前进..

内部加入

    SELECT emp_id, emp_job, emp_name
    FROM employees
    INNER JOIN job
    ON table1.emp_job=table2.job_id;

答案 1 :(得分:0)

你可以使用

mysql_query("SELECT COUNT(employees.emp_job) FROM employees,job,project WHERE project.projid=job.proj_id AND employees.emp_job = job.job_id);

答案 2 :(得分:0)

采用不同的途径来达到相同的效果。我在项目表中添加了一个额外的列,并将其命名为project_ecount“employee count”。然后,我写了一个查询,在每次将员工添加到项目时将(+)1添加到计数中,如果从项目中删除员工,则将另一个查询减去( - )1。

查询示例 -

//添加 mysql_query(“UPDATE项目SET project_ecount = $ compu2 + 1 WHERE project_id = $ compu2”);

//减法 // mysql_query(“UPDATE project SET project_ecount = $ compu2-1 WHERE project_id = $ compu2”);