mysql连接表,其中外键是同一个表的主键

时间:2015-03-16 07:38:51

标签: php mysql join

我有用户表(员工和经理通用),其中user_id是主键。

此表包含一系列员工和一列名为“Is manager”且值为“是”或“否”的列。

因此,当我创建员工时,我可以选择从同一(用户)表中选择用户的经理,inshort manager是来自users表的人之一。因此,该员工将从用户表中获取ID(因此参考将转到同一个表)

问题是: 当我拉动所有用户时,我也想在表格中打印经理的姓名。 我怎么能这样做?

之前我有一个单独的经理表,我使用join命令获取经理信息,如何从同一个表加入?

提前谢谢。

我正在添加我的表和输出要求,

manager_id 2指的是同一列的第2行,

| user_id | user_firstname | user_lastname | MANAGER_ID

| 1 | Rox |玩具| 2

| 2 |混合| Joy | null

| 3 | Iox | Cil | 2

现在,我想获取记录并在html表格中显示如下,


| emp_firstname | emp_lastname | manager_firstname | manager_lastname

| Rox |玩具|混合|喜悦

| Iox | Cil | Mix | Joy

我正在使用codeigniter框架

2 个答案:

答案 0 :(得分:-1)

使用自我加入

例如

SELECT a.column_name, b.column_name...
FROM table1 a, table1 b
WHERE a.common_field = b.common_field;

For more information click here

答案 1 :(得分:-1)

它将以USERID为您提供所有管理员名称。

 SELECT MGR.`user_id`, MGR.`user_firstname` AS MANAGERNAME FROM user AS EMP JOIN user AS MGR
    ON MGR.`user_id` = EMP.`manager_id` ;