В Sql для старшего менеджера, если сотрудник также является менеджером, тогда обновите его менеджера до имени сотрудника - PullRequest
0 голосов
/ 29 апреля 2019

Ниже мои данные. Считайте письмо уникальным сотрудником. Пример для старшего менеджера (SM) - A. У меня есть сотрудник, который также является менеджером. Затем я хочу обновить столбец диспетчера до уровня «Сотрудник». Для старшего менеджера B ни один сотрудник не является менеджером, поэтому не нужно ничего делать. Как мне обновить колонку диспетчера? Ожидаемый результат ниже.

Данные:

 Senior Manager Manager Employee

    A           NULL    X
    A           NULL    Y
    A           NULL    Z
    A           X       C
    A           Y       D
    A           Z       E
    B           NULL    F
    B           NULL    G

Ожидаемый результат :

 Senior Manager Manager Employee
    A           X       X
    A           Y       Y
    A           Z       Z
    A           X       C
    A           Y       D
    A           Z       E
    B           NULL    F
    B           NULL    G

1 Ответ

0 голосов
/ 29 апреля 2019

Я думаю, что небольшое действие самообъединения здесь с COALESCE() должно помочь вам в этом:

SELECT Employee.[Senior Manager], 
    COALESCE(Employee.[Manager], [Manager].[Manager]) as [Manager], 
    Employee.Employee
FROM [Table] as [Employee]
    LEFT OUTER JOIN [Table] as [Manager]
        ON [Employee].[Employee] = [Manager].[Manager]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...