2015-09-26 236 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」);