PostgreSQL - объединить две таблицы в новую таблицу, но суммировать целочисленный столбец - PullRequest
0 голосов
/ 05 мая 2020

У меня 2 PostgreSQL таблицы - table1 и table2. У них обоих есть столбцы first_name, last_name и total_visits.

Я хотел бы объединить данные из обеих таблиц в new_table, например

CREATE TABLE new_table AS (SELECT * FROM table1 UNION SELECT * FROM table2);

Но, если first_name и last_name дублируются, я хочу иметь только 1 строку с total_visits из table1 и table2, суммированных / сложенных вместе.

Возможно ли это в SQL, без использования Python / PHP для его решения?

1 Ответ

1 голос
/ 05 мая 2020

Это звучит как full join:

select first_name, last_name,
       coalesce(t1.total_visits, 0) + coalesce(t2.total_visits) as total_visits
from table1 t1 full join
     table2 t2
     using (first_name, last_name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...