根据现有 table 的条件创建新列

creating new columns based off where conditions of existing table

我有一个 table 每个人的电子邮件地址在他们的会员 ID 旁边只有一次,但我想创建在同一行中包含他们的领导电子邮件地址的列。

Table 1

+-----------+--------+----------+----------+---------+
| member_id | name   | Email    | Dir_ID   | Leader_ID| 
+-----------+--------+----------+----------+----------
|       105 | Andri  |    em100 |     106  |   110    |
|       106 | Steve  |     em10 |    Null  |   Null
|       110 | Soraya |    em101 |     110  |   110
|       111 | Eva    |     em20 |     110  |   105
|       112 | Sonia  |     em40 |     105  |   111

我正在努力完成以下任务

Query/Generated Table

+-----------+--------+----------+----------+-------------+
| member_id | name   | Email    | Dir_Email| Leader_EMail| 
+-----------+--------+----------+----------+-------------+
|       105 | Andri  |    em100 |     em10 |   em101     |
|       106 | Steve  |     em10 |     Null |   Null
|       110 | Soraya |    em101 |     em10 |   em10
|       111 | Eva    |     em20 |    em101 |   em100
|       112 | Sonia  |     em40 |     em100|   em20

任何关于从哪里开始的信息将不胜感激。我正在考虑创建一个暗淡的 table 然后进行一些连接,但认为必须有一种更简单的方法。

您可以使用基于自联接的层次关系

   select a.member_id, a.name, a.Email, b.Dir_Email, a.Leader_ID
   from myTable as a 
   left join my_table b on a.dir_id = b.member_id