我正在尝试获得项目中的员工数量,但我仍然坚持使用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
没有运气,因为我现在认为现在要解决我的问题了。答案 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”);