У меня есть пользовательская таблица ldap_karen, в которой есть все данные о сотрудниках, включая sup_id (id супервизора) и роль работы сотрудника.Почему мой запрос mysql для получения «большинства» данных запускается вечно?
У меня также есть таблица супервизора, которая имеет все уникальные sup_ids.
В настоящее время у меня есть:
SELECT
ldap_sups.sup_id,
COUNT(ldap_karen.uid) as team_nums,
COUNT(sa_title) as title_nums,
(SELECT sa_title
FROM ldap_karen
WHERE ldap_sups.sup_id=ldap_karen.sup_id
group by sa_title
order by count(ldap_karen.sa_title) desc
limit 1) as sup_role,
ldap_karen.sa_title,
ldap_karen.regionname
FROM
ldap_sups
JOIN ldap_karen ON ldap_sups.sup_id = ldap_karen.sup_id
GROUP BY sup_id
Так что это дает мне супервизора ID, то количество членов команды, количество должностей (не все сотрудники имеют названия работы), sup_role - это то, что не работает , sa_title (который просто отображает название должности последнего человека в списке) и региона.
Я бы хотел, чтобы sup_role отображал «самую» должность. Таким образом, независимо от того, какие должности лучше всего подходят для сотрудника под надзором, это sup_role.
Примечание: В настоящее время мой запрос выполняется только из-за проблемы с запросом «sup_role». Ничего не выйдет.
Это кажется, что он должен работать. Не могли бы вы объяснить, что происходит? Вы получили сообщение об ошибке? Кроме того, может быть, что 'WHERE ldap_sups.sup_id = ldap_karen.thomssupervisorid' должно быть' WHERE ldap_sups.sup_id = ldap_karen.sup_id'? –
@TeddyOrt - это просто работает ... никогда ничего не выводит. И да, это была ошибка редактирования моего вопроса. – blankip