0

次の列を持つこれらの3つのテーブルがあります。

  1. employee:empId(PK)、hireDate、jobTitle、department(FK)、status(FK)
  2. status:statusId、statusDesc
  3. department:departmentId、deptName、supervisorId、deptHeadId

私がしたいのは、次の列を表示することです:hireDate、、、、jobTitledeptNamestatusDesc

statusDesc私が遭遇している問題は、とdeptNameレコードが表示されないことです。

これが私のコード/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;");
4

2 に答える 2

0

クエリから、従業員に有効な部門と有効なステータスがあることを指定します。列が空白の場合は、部門テーブルとステータステーブルの記述子フィールド(deptNameとstatusDesc)が空であるためです。

于 2012-07-26T07:35:24.923 に答える
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;");
于 2012-07-26T07:50:16.953 に答える