Доброе утро Подскажите как можно сделать запрос в 3и таблице с

выборкой данных?
Есть таблицы
Countries - список стран
id - первичный ключ
name - название
population - численность населения
gdp - валовый продукт в долларах

Cities - список городов
id - первичный ключ
name - название
population - численность населения
founded - год основания
country_id - id страны

Companies - компании
id - первичный ключ
name - название
city_id - город в котором находится штаб-квартира
revenue - годовая выручка в долларах
labors - численность сотрудников

Нужно для каждой страны получить штаб квартира компании находится в этой стране и число сотрудников компании не менее 1000 человек.
Я с трудом представляю как через JOIN можно собрать данные с трех таблиц да еще и по всем странам за один запрос.

24 ответов

25 просмотров

Вот через join как раз и надо

Это очень простой запрос, пиши сам

Freekazoid- Автор вопроса
Freekazoid- Автор вопроса
Ilya Zviagin
Это очень простой запрос, пиши сам

не столь просто для меня но select a.name, count(*) from task_test.Countries a left join task_test.Cities b on a.id = b.country_id left join task_test.Companies c on b.id = c.city_id and c.labors >= 1000 group by a.name Не могу понять как проверить штаб квартиры?

Ilya Zviagin
Count не нужен же

Вроде бы. Сейчас поверю

Freekazoid- Автор вопроса
Ilya Zviagin
Вроде бы. Сейчас поверю

select a.name, b.name from task_test.Countries a left join task_test.Cities b on a.id = b.country_id left join task_test.Companies c on b.id = c.city_id and c.labors >= 1000 group by a.name, b.name Ну вывод самой штабквартиры то же не подходит.

Что получить то надо?

Freekazoid- Автор вопроса
Ilya Zviagin
Что получить то надо?

для каждой страны посчитано число компаний 1) штаб квартира компании находится в этой стране 2) число сотрудников компании не менее 1000 человек

Freekazoid- Автор вопроса
Ilya Zviagin
Что получить то надо?

Честно сам не пойму. С более точным заданием может и сам разобрался. По мелочи могу сделать запросы но тут ТЗ не могу сам понять...

Freekazoid- Автор вопроса
Freekazoid
не столь просто для меня но select a.name, count(...

получается нам нужно имя страны и каунт городов где штаб?

Freekazoid
получается нам нужно имя страны и каунт городов гд...

Как бы если ты сам не знаешь что тебе нужно, то как тут помогать?

Freekazoid- Автор вопроса

select a.name, b.name, count(*) from task_test.Countries a left join task_test.Cities b on a.id = b.country_id left join task_test.Companies c on b.id = c.city_id and c.labors >= 1000 group by a.name, b.name ну вро де так должно быть b.name Это города со штабом в нужной стране. их считаем с учетом сотрудников не мение labors 1000

Freekazoid- Автор вопроса
Ilya Zviagin
Запрос неверный

не верный? у меня выдает.

Freekazoid- Автор вопроса
Ilya Zviagin
Неверно

и этот то же выдает.

Freekazoid- Автор вопроса
Freekazoid
А что не верно?

Он выдаст всё страны, для начала

Ну если для страны подсчёт с нулём это у тебя по заданию ОК, то тогда правильно

Freekazoid- Автор вопроса
Ilya Zviagin
Ну если для страны подсчёт с нулём это у тебя по з...

Насчёт 0 я не вижу в условии. Но к примеру вывод что скажем в Индии нет штабов и ставим 0. Думаю это нормально, страна есть данные 0 это то же результат.

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

Обсуждают сегодня

Так а кто может спарсить всех участников чата? Идишники
Magic
18
да пофиг на капчу зашел в чат и молчишь при этом ты нонейм? пошел вон
Magic
17
Как удалить health check в Consul? Казалось бы, это должно быть не сложно, но я не могу найти в документации ничего про это, только про добавление service с health check "в н...
Roman
2
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
13
Privet! Mozhet jesti ideji - nemogu sdelatj upload backup s filestore cerez WEB. Fail okolo 450mb, eto mozhet bitj prichinoi? Nemogu ponjatj..kak zagruzitj backup... Poluchaju...
Matiss 🤘 Black Oak IT 🌳 Batumi 🌴 Latvija
5
А кто знает в тейлоре до сих пор есть конфликты слагов или поправили уже?
Black Cat
5
Нужно магазин с тильды на опен кат перенести Есть кто умеет? В лс
Magic
8
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Я хочу запустить свой проект в тг. Что-то между пирамидой и майнилкой. Еще подобного ничего не было. Уникальная идея. Нужен именно не бот, а приложение. С ввод, выводом тон...
Павел А.
6
Я колись ставив гуглу антиспам 3.0, може і норм, але мені не дуже зайшло. Теж думав тиждень, що його і куди. Зупинився на трех варіантах відразу всі три і включив 1. Перевір...
𝓔𝓾𝓰𝓮𝓷𝓮𝓥 J
2
Карта сайта