Выберите данные в соответствии с уровнем менеджера и сотрудника в MySQL - PullRequest
0 голосов
/ 03 февраля 2009

Структура таблицы такая -

id Name Manager 1 а. Ноль 2 чч 1 3 года 4 4 KK NULL 5 ПП 4

Так что я хочу, чтобы результат, как-

Имя менеджера NULL ааа Kk NULL YY Kk ПП Кк

Ответы [ 3 ]

1 голос
/ 01 ноября 2009

ВЫБРАТЬ a.name AS сотрудник, b.name AS менеджер ОТ employees КАК ПРИСОЕДИНЯЙТЕСЬ К СОТРУДНИКАМ AS b ON

Это сработает, даст вам сотрудника и его менеджера

0 голосов
/ 07 июля 2009

НЕПРОВЕРЕНО Попробуйте это:

SELECT Name FROM table ORDER BY IFNULL(Manager,id), IFNULL(Manager,0), Name

Я думаю, это соберет вас всех менеджеров, которые будут сгруппированы вместе, а менеджеры будут стоять перед своими сотрудниками, которых нужно отсортировать по имени. К сожалению, в настоящее время я не могу добраться до экземпляра сервера MySQL для тестирования.

0 голосов
/ 03 февраля 2009

Попробуйте это:

SELECT b.name, a.name FROM table AS a RIGHT JOIN table AS b ON a.manager = b.id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...