@muhasa

Как выполнить выборку id компании, у которой максимальная зарплата у сотрудников?

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

Делаю так:
SELECT company_id, SUM(salary) 'sumzp' FROM wc WHERE 1 GROUP BY(company_id) ORDER BY (company_id)


Но дальше развитие запроса (новый запрос)
Теперь мне нужно выдернуть директора компании, у которой самая большая цифра по выплатам.
Как мне удалить поле sumzp из финальной выборки вышеописанного запроса, чтобы я мог спокойно подставить этот подзапрос под другой запрос:
SELECT name FROM worker WHERE position LIKE 'Boss' AND company_id = (SELECT company_id, SUM(salary) 'sumzp' FROM wc WHERE 1 GROUP BY(company_id) ORDER BY (company_id))


Теоретически можно сделать так:
SELECT name FROM worker WHERE position LIKE 'Boss' AND company_id = (SELECT t1.id FROM (SELECT company_id id, SUM(salary) sumzp FROM `wc` WHERE 1 GROUP BY(salary) ORDER BY sumzp LIMIT 0,1) t1)


Но мне кажется, есть какой-то способ удалить имя колонки, чтобы не ворошить лишний подзапрос.
А может еще проще решения есть.
  • Вопрос задан
  • 165 просмотров
Решения вопроса 2
@BorisKorobkov Куратор тега MySQL
Web developer
SELECT name 
FROM worker 
WHERE position LIKE 'Boss' 
AND company_id = (SELECT company_id FROM wc GROUP BY company_id ORDER BY SUM(salary) DESC LIMIT 1)
Ответ написан
Комментировать
@DimkaI
Системный адинистратор, разработчик ПО
SELECT 
     a.name
FROM worker a 
  INNER JOIN (
   SELECT
       company_id id
   FROM
      wc
   GROUP BY
      company_id
   ORDER BY
      sum(salary)
   LIMIT 1
) b ON a.company_id = b.id
WHERE 
    a.position LIKE 'Boss'
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
вы определитесь что вам нужно, а то как то не понятно что в итоге в приложение должно попасть?
Если нужно только имя босса - тогда зачем в первом запросе выбирать сумму?
Если нужно и сумма и ид компании и имя босса то join on то что вам нужно.
Если с джоинами тупите - выберите в приложение и оттуда уже дайте второй запрос с чистым ид.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы