2015-09-26 238 views
2

我想获得一个项目中的员工数,但我坚持使用3个表获得计数。我能够得到同一份工作的员工人数,但我无法绕过那些在该项目中从事这些工作的员工的“总数”。获得公司员工数量与该公司的职位

我有3个表

employees | job | project 

表employees_ 样子:

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

表job_ 样子:

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 

表project_ 样子:

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

,没有运气,因为我现在觉得这就是现在要解决我的问题此查询。

+0

你想要一个PHP解决方案或MySQL解决方案。你可以请你分享一下你试过的代码。 –

+0

表是什么关系? –

+0

julio我更新了我的帖子上面是你所说的表格关系?我填写表 –

回答

1

这可以让你在正确的方向..

内加入

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

嘿感谢,但不是我正在寻找我已经知道我有/知道如何查询该员工的数量。我正在寻找的是找出我有多少员工分配给一个给定的项目。 –

+0

我的歉意,为了让你在正确的方向,你可能想要在MYSQL中进行内连接/外连接。这将允许您在给定主键/唯一键的情况下提取多个表。 http://www.w3schools.com/sql/sql_join_inner.asp – dotKn0ck

1

可以使用

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

在我的页面上我收到Array作为显示器,我相信我没有做正确的事情。这是我如何努力使价值观能够在我的90%是错误的,因为我没有定义公司身份证,但是当我尝试它不会显示任何东西。这里有两种方法,我试过$ test = mysql_query(“SELECT COUNT(employees.emp_job)FROM employees,job,project WHERE project.projid = job.proj_id AND employees.emp_job = job.job_id”); $ testresult = mysql_fetch_array($ test);我得到了一个数组的结果。当我尝试像这样我什么也得不到 - $ testresult = $ test ['company_id']; –

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”);