Получить наиболее часто встречающееся значение в таблице ссылок и вернуться к нему в основной таблице в MySQL - PullRequest
0 голосов
/ 13 марта 2020

У меня есть несколько таблиц, которые используются в базе данных Star Wars вместе с объединяющей таблицей (это часть проекта Uni).

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

Первичный ключ в таблицах персоны и транспортировки прост: " id ", и тогда обе таблицы имеют столбец имени.

Была создана таблица связи с именем person_transproduction со столбцами, содержащими идентификаторы из таблиц person и transport.

Я могу запустить следующий запрос:

SELECT transport_id 
FROM person_transport 
GROUP BY transport_id 
ORDER BY COUNT(*) 
DESC LIMIT 1

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

Я искал множество подобных проблем здесь, но все они, похоже, относятся к запросу, выполняемому для одной таблицы, а не для таблицы ссылок.

Есть идеи?

1 Ответ

0 голосов
/ 13 марта 2020

Полагаю, есть transport_table с такими столбцами, как transport_id и transport_name. Используйте свой запрос в предложении WHERE следующим образом:

SELECT transport_name
FROM transport_table
WHERE transport_id = (
  SELECT transport_id 
  FROM person_transport 
  GROUP BY transport_id 
  ORDER BY COUNT(*) 
  DESC LIMIT 1
)

Измените имя таблицы и имена столбцов на фактические имена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...