Oracle Sql для получения суммы при совпадении - PullRequest
0 голосов
/ 16 января 2020

Sql нужна помощь.

enter image description here

Totalcount = Сотрудники + Количество Имена столбцов такие. Это две случайные таблицы, к которым мы пытаемся присоединиться. Imp: Возможно, что - то, что существует в Таблице 1, может не существовать в Таблице 2. Также то, что существует в таблице 2, может не существовать в таблице 1. Таким образом, если существует в обоих, то общая сумма необходима, если не индивидуальное значение

Ответы [ 2 ]

1 голос
/ 16 января 2020

Один метод использует full join:

select coalesce(t1.company, t2.entity) as company,
       coalesce(t1.employees, 0) + coalesce(t2.count, 0) as totalcount
from table1 t1 full join
     table2 t2
     on t1.company = t2.entity
1 голос
/ 16 января 2020

Вы можете использовать union all и агрегирование:

select entity, sum(cnt) total_count
from (
    select entity, cnt from table2
    union all select company, employees from table1
) t
group by entity
order by entity

Чтобы это работало правильно, столбцы в обеих таблицах должны иметь одинаковый тип данных, ie table2.entity должен иметь одинаковый тип данных как table1.company' (а также table2.cnt и table1.employees). Если типы данных не совпадают, вы должны явно привести столбцы к adujst.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...