Здравствуйте, я новичок в SQL, и у меня есть проблема. У меня 3 таблицы работы, выручка и стоимость. job.unid = cost.job_unid и yield.job_unid
Я хочу найти общий доход и стоимость для каждой работы, а затем найти прибыль для каждой работы в одной строке:
Заголовки выглядят примерно так:
№ задания, Общий доход, Общая стоимость, Прибыль (Rev-Cost)
Я попытался сделать один запрос, но после поиска в Интернете решений мне показалось, что я должен запросить доход и стоимость отдельно, а затем объединить с помощью Union All.
Сейчас я делаю это:
select m,
rlc,
rvatlc,
rtotlc,
clc,
cvatlc,
ctotlc
from(
(select decode(j.consolno,null,j.shpno,j.consolno) m,
sum(nvl(r.amtlc,0)) rlc,
sum(nvl(r.vatamtlc,0)) rvatlc,
sum(nvl(r.amtlc,0))+sum(nvl(r.vatamtlc,0)) rtotlc,
0 clc,
0 cvatlc,
0 ctotlc
from
job j
full join revenue r on j.unid=r.job_unid
where j.voidby is null and decode(j.consolno,null,j.shpno,j.consolno)='SHSEM00131'
group by decode(j.consolno,null,j.shpno,j.consolno)
)
union all
(select decode(j.consolno,null,j.shpno,j.consolno) m,
0 rlc,
0 rvatlc,
0 rtotlc,
sum(nvl(c.amtlc,0)) clc,
sum(nvl(c.vatamtlc,0)) cvatlc,
sum(nvl(c.amtlc,0))+sum(nvl(c.vatamtlc,0)) ctotlc
from
job j, cost c
where j.voidby is null and j.unid=c.job_unid and decode(j.consolno,null,j.shpno,j.consolno)='SHSEM00131'
group by decode(j.consolno,null,j.shpno,j.consolno)
))
Результат:
Я не уверен, что вы видите, но это 2 строки:
1 - доход, 1 - стоимость.
Я хочу объединить эти 2 строки
результат запроса jpg
Если кто-нибудь сможет мне помочь, я буду очень признателен! Спасибо заранее!