Написание SQL-запроса с использованием SELECT JOIN SUM

Я новичок в SQL, и я застрял в следующей проблеме.

У меня есть эта таблица и данные:

SALES_COUNTRY

Дата ID_Country Продажи 01.01.2022 США 23 01.01.2022 США 14 01.01.2022 США 9 01.01.2022 США 16 01.01.2022 МОЖЕТ 15 01.01.2022 МОЖЕТ 19 01.01.2022 МОЖЕТ 9 01.01.2022 МОЖЕТ 23 01.01.2022 США 16 01.01.2022 Мекс 20

СТРАНА

ID_Country Описание США Соединенные Штаты МОЖЕТ Канада ГРЛ Гренландия

Теперь я пытаюсь получить соответствующие совпадающие данные из COUNTRY.Description и SALES_COUNTRY.Sales, используя столбец ID_Country, что не проблема. Но я не могу написать запрос, который возвращает сумму всех SALES_COUNTRY.Sales всех повторяющихся COUNTRY.ID_Country столбцов.

Вывод должен выглядеть примерно так:

ID_Country Страна Продажи США Соединенные Штаты 78 МОЖЕТ Канада 66 Мекс 20 ГРЛ Гренландия

Это самое близкое, что у меня есть, но я не могу заставить SUM работать вместе с JOIN:

SELECT 
    SALES_COUNTRY.ID_Country AS 'Id_Country',
    COUNTRY.Description AS 'Country',
    SALES_COUNTRY.Sales
FROM
    SALES_COUNTRY
INNER JOIN 
    COUNTRY ON SALES_COUNTRY.ID_Country = COUNTRY.ID_Country;

Любая помощь будет оценена по достоинству.

Какую СУБД вы используете? MySQL, Postgres, SQL Server...

ahmed 28.04.2023 04:25

Прошу прощения за поздний ответ. У меня дождливый день, поэтому я вздремнул. я использую MySQL

lionsop 28.04.2023 06:59
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
2
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам нужна операция group by + sum

SELECT SALES_COUNTRY.ID_Country as 'Id_Country',
COUNTRY.Description as 'Country',
SUM(SALES_COUNTRY.Sales)
FROM SALES_COUNTRY 
INNER JOIN COUNTRY ON SALES_COUNTRY.ID_Country = COUNTRY.ID_Country 
GROUP BY SALES_COUNTRY.ID_Country, COUNTRY.Description

Большое спасибо, я ясно вижу, что я делаю неправильно. Я могу добавить, что в итоге я использовал FULL JOIN вместо INNER JOIN для решения своей проблемы.

lionsop 28.04.2023 07:01

Другие вопросы по теме