выборкой данных?
Есть таблицы
Countries - список стран
id - первичный ключ
name - название
population - численность населения
gdp - валовый продукт в долларах
Cities - список городов
id - первичный ключ
name - название
population - численность населения
founded - год основания
country_id - id страны
Companies - компании
id - первичный ключ
name - название
city_id - город в котором находится штаб-квартира
revenue - годовая выручка в долларах
labors - численность сотрудников
Нужно для каждой страны получить штаб квартира компании находится в этой стране и число сотрудников компании не менее 1000 человек.
Я с трудом представляю как через JOIN можно собрать данные с трех таблиц да еще и по всем странам за один запрос.
Вот через join как раз и надо
Это очень простой запрос, пиши сам
Ясно, буду пробовать.
не столь просто для меня но 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 Не могу понять как проверить штаб квартиры?
Count не нужен же
Вроде бы. Сейчас поверю
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 Ну вывод самой штабквартиры то же не подходит.
Что получить то надо?
для каждой страны посчитано число компаний 1) штаб квартира компании находится в этой стране 2) число сотрудников компании не менее 1000 человек
Честно сам не пойму. С более точным заданием может и сам разобрался. По мелочи могу сделать запросы но тут ТЗ не могу сам понять...
А, тогда надо count
получается нам нужно имя страны и каунт городов где штаб?
Как бы если ты сам не знаешь что тебе нужно, то как тут помогать?
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
не верный? у меня выдает.
и этот то же выдает.
Он неверно выдает
А что не верно?
Он выдаст всё страны, для начала
Ну если для страны подсчёт с нулём это у тебя по заданию ОК, то тогда правильно
Насчёт 0 я не вижу в условии. Но к примеру вывод что скажем в Индии нет штабов и ставим 0. Думаю это нормально, страна есть данные 0 это то же результат.
Обсуждают сегодня