Суммирование значений SQL на основе 20 таблиц

0

У меня есть 20 таблиц с одинаковой колонкой с несколькими примерами, как показано ниже:

Australian GP
DRIVER | Points
================
HAM    | 25
VET    | 20
RIC    | 15

Japanese GP
Driver | Points
==============
HAM    | 25
VET    | 20
RIC    | 15

Malaysian GP
Driver | Points
RIC    | 25
HAM    | 20
VET    | 15

Я планирую объединить все 20 таблиц и все 20 данных драйверов, как показано ниже:

Championship Standings
Driver   | Points
HAM      | 70
VET      | 65
RIC      | 50

Основываясь на интенсивном поиске в googling и огромном запутанности (я плохо разбираюсь в SQL, так как у меня нет свободного времени, чтобы учиться вне моего колледжа), у меня есть вывод, чтобы использовать внутреннее соединение и подзапрос, например ниже (что я не знаю, правильно оно или laughstock):

select driverid, point
from usa a, russia b, japan c
    inner join (select driverid as Driver, sum(point) group by points);

Я также подумал, что мне нужно написать 20 внутренних объединений (как показано ниже) для подключения значений драйвера между таблицами? (Я создал таблицу для драйвера, которая содержит driverid как первичный ключ. Вся таблица, используемая для записи точек, использует внешний ключ из таблицы драйверов)

На самом деле очень ценю любую помощь в этом деле

  • 0
    Вы хотите, чтобы не было 20 таблиц.
  • 1
    Все 20 таблиц должны содержаться в одной таблице с полем индикатора страны : эффективное и масштабируемое хранилище. Поддерживаемые запросы.
Показать ещё 1 комментарий
Теги:

2 ответа

0
Лучший ответ

Вы хотите объединить все:

select driver, sum(points)
from ((select driver, points from usa) union all
      (select driver, points from russia) union all
      . . .
     ) c
group by driver;
0

Попробуй это:

Select * From Table1

UNION ALL

Select * From Table2

UNION ALL

Select * From Table3
.
.
.
GROUP BY Driver

Где Table1, Table2, Table3 и т.д. Являются именами ваших фактических таблиц

  • 0
    Это просто объединяет записи, но не суммирует, как просил ОП.
  • 0
    Добавьте "Группу по водителю", спасибо! @Eric

Ещё вопросы

Сообщество Overcoder
Наверх
Меню