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

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

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

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

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

24 ответов

55 просмотров

Вот через 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
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
Карта сайта