Вы можете выполнить это заданное требование c всего двумя подзапросами:
select
(
select sum(total)
from tableb
where clientID = 45454 and status = 71 and sort = 'SS'
) sum_total,
(
select sum(cost)
from tablea
where id = 45454 and code= 'A' and period = 1 and sort = 'ss'
) sum_cost
Если вам нужно обработать больше (или все) id
с одновременно, то вы также можете join
два совокупных подзапроса:
select a.id, b.sum_total, a.sum_cost
from (
select clientID, sum(cost) sum_cost
from tableb
where status = 71 and sort = 'SS'
) b
inner join (
select id, sum(total) sum_total
from tablea
where code= 'A' and period = 1 and sort = 'ss'
group by id
) a on a.id = b.clientID
group by a.id
Если у вас всегда есть только одна запись в tablea
на id
, тогда запросы упрощаются:
select
(
select sum(b.total)
from tableb b
where b.clientID = a.id and b.status = 71 and b.sort = 'SS'
) sum_total,
cost
from tablea
where code= 'A' and period = 1 and sort = 'ss' -- and id = 45454