Подтвердить что ты не робот

SQL: как использовать SUM два значения из разных таблиц

Хорошо.

Я был вовлечен в проект на работе, и хотя у меня есть некоторые навыки SQL, они очень ржавые.

Один из сценариев работы оставил меня с несколькими таблицами со значениями, которые мне нужно подвести итогами. Они также не связаны, но порядок одинаковый во всех таблицах.

В принципе, я хотел бы взять две таблицы:

CASH TABLE  
London  540
France  240
Belgium 340

CHEQUE TABLE
London  780
France  490
Belgium 230

Чтобы получить такой вывод, чтобы подать заявку на графическое приложение:

London  1320
France  730
Belgium 570

Пожалуйста, помогите.

4b9b3361

Ответ 1

select region,sum(number) total
from
(
    select region,number
    from cash_table
    union all
    select region,number
    from cheque_table
) t
group by region

Ответ 2

SELECT (SELECT SUM(London) FROM CASH) + (SELECT SUM(London) FROM CHEQUE) as result

'И так далее и т.д.

Ответ 3

вы также можете попробовать это в sql-сервере!

select a.city,a.total + b.total as mytotal from [dbo].[cash] a join [dbo].[cheque] b on a.city=b.city 

демо

или попробуйте использовать sum, union

select sum(total)  as mytotal,city
from
(
    select * from cash union
    select * from cheque
) as vij
group by city 

Ответ 4

Для вашей текущей структуры вы также можете попробовать следующее:

select cash.Country, cash.Value, cheque.Value, cash.Value + cheque.Value as [Total]
from Cash
join Cheque
on cash.Country = cheque.Country

Я думаю, что предпочитаю объединение между двумя таблицами и группу по названию страны, как указано выше.

Но я бы также рекомендовал нормализовать ваши таблицы. В идеале у вас будет таблица стран с идентификатором и именем и таблица платежей с: CountryId (FK в страны), Total, Type (cash/check)