2016-11-16 4 views
0

У меня есть таблица, у которой есть адрес электронной почты каждого пользователя только один раз рядом с их идентификатором члена, но я хочу создать столбцы, у которых есть их адреса электронной почты руководства в той же строке.создание новых столбцов, основанных на условиях существующей таблицы

Таблица 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/сгенерированной таблицы

+-----------+--------+----------+----------+-------------+ 
| 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 

любую информацию о том, где начинать будут оценены. я думал о создании тусклой таблицы, а затем сделал несколько объединений, но решил, что должен быть более простой способ.

+0

Я думаю, что вам может понадобиться, чтобы дать нам только немного больше информации. Где вы получаете 'Dir_Email' и' Leader_email' от – RiggsFolly

+0

Итак, вы хотите изменить таблицу 1 как таблицу 2. Правильно? – RiggsFolly

+0

@RiggsFolly извините, это, вероятно, не ясно, но 'Member_Id' является уникальным кодом для каждого человека, все будут отображаться там,' Dir_ID' и 'Leader_ID' являются просто' member_id's из иерархии –

ответ

2

Вы можете использовать иерархические отношения, основанные на автообъединение

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 
+0

Я ошибаюсь, полагая, что OP хочет создать 2 новых столбца в существующей таблице и удалить 2 существующих столбца? – RiggsFolly

+0

@scaisedge, вы говорите, что мне нужно создать таблицу b? или можете присоединиться к столу на себе? вторая таблица - это запрос или продукт, который я хотел бы создать из таблицы 1 –

+2

Нет @AsimAhmed, это та же таблица 'myTable', но с использованием псевдонима' a' и 'b' для выполнения' SELF JOIN' –

Смежные вопросы