2012-07-26 70 views
0

我有這3個表有以下的列選擇記錄:從3個表

  1. employee:EMPID(PK),僱傭日期,JOBTITLE,部門(FK),狀態(FK)
  2. status:statusId ,statusDesc
  3. department:DepartmentID的,DEPTNAME,supervisorId,deptHeadId

我想要做的是顯示以下欄目:hireDatejobTitledeptNamestatusDesc

的問題,我現在遇到的是,它不顯示statusDescdeptName記錄。

這裏是我的代碼/ SQL查詢:

$empId = $_GET['empId']; 

$result = mysql_query("SELECT e.empId, e.hireDate, e.jobTitle, d.deptName, s.statusDesc 
         FROM employee e , department d, status s 
         WHERE e.department = d.departmentId AND e.status = s.statusId AND e.empId = $empId;"); 
+1

那麼是什麼問題? – 2012-07-26 07:30:59

+0

對不起,我沒有包括這個問題。以下代碼不顯示deptName和statusDesc記錄。 – user1545261 2012-07-26 07:33:22

+0

此員工是否有任何部門或地位?我的意思是在部門和狀態表中有關於員工表的任何數據? – 2012-07-26 07:35:35

回答

0

試試這個。

$empId = $_GET['empId']; 

$result = mysql_query("SELECT e.empId, e.hireDate, e.jobTitle, d.deptName, s.statusDesc 
         FROM employee e 
         INNER Join department d on e.department = d.departmentId 
         INNER Join status s on e.status = s.statusId 
         WHERE e.empId = $empId;"); 
+0

謝謝先生!〜:) – user1545261 2012-07-26 07:53:52

0

從您的查詢,提供員工有一個有效的部門和一個有效的狀態 - 如果列是空白,則是因爲該部門的描述符字段和狀態表是空的(deptName和statusDesc)。

+0

我已經檢查過我的deptName和statusDesc列,並且都包含描述符字段。我想知道爲什麼記錄沒有顯示出來。 – user1545261 2012-07-26 07:42:05