Решение Мадхура в порядке.Альтернативой является union all
и group by
:
select user, sum(gain) as gain, sum(spent) as spent
from ((select user, quantity as gain, 0 as spent
from gain
) union all
(select user, 0, quantity as spent
from spent
)
) u
group by user;
. Вы можете join
до user
, если вы хотите, чтобы пользователи отсутствовали ни в одной таблице, или вам нужны дополнительные столбцы.Тем не менее, join
может быть необязательным.