У меня есть две таблицы, которые я запрашиваю, которые содержат следующие данные:
revenuedtl
ctripnumber cmethod curevenue
-------------------------------------------------
324198 BROKERSANITIZE 65.00
324198 BROKERFUELSURCHARGE 243.35
324198 BROKERBULKWINE 785.00
payrolldtl
ctripnumber cmethod curevenue
------------------------------------------------------
324198 BROKERBULKWINE 628.00
324198 BROKERFUELSURCHARGE 200.96
324198 BROKERSANITIZE 52.00
Я написал следующие запросы, которые суммируют сборы в виде «Итого выручки» и «Итога перевозчика».
Sidenote : мне пришлось написать промежуточные запросы, чтобы преодолетьнекоторые проблемы с дизайном БД, которые создали дубликаты, когда я присоединился к таблицам.Мы должны быть в состоянии игнорировать эту проблему.
select
sum(Revenue_Subtotal) as 'Revenue Total'
from
(select
r.ctripnumber, r.cmethod, sum(r.curevenue) as Revenue_Subtotal
from
revenuedtl r
where
r.cmethod in (select distinct r.cmethod from revenuedtl r)
and r.ctripnumber = '324198'
group by
r.ctripnumber, r.cmethod) A
Результат:
Revenue Total
1093.35
select
sum(Carrier_Subtotal) as 'Carrier Total'
from
(select p.ctripnumber, p.cmethod, sum(p.curevenue) as Carrier_Subtotal
from payrolldtl p
where p.cmethod in (select distinct p.cmethod from payrolldtl p)
and p.ctripnumber = '324198'
group by p.ctripnumber, p.cmethod)B
Результат:
Carrier Total
880.96
Проблема: Я хочу изменить запрос на возвратr.ctripnumber
с sum(Revenue_Subtotal)
следующим образом:
select
r.ctripnumber, sum(Revenue_Subtotal) as 'Revenue Total'
from
(select r.ctripnumber, r.cmethod, sum(r.curevenue) as Revenue_Subtotal
from revenuedtl r
where r.cmethod in (select distinct r.cmethod from revenuedtl r)
--and r.ctripnumber = '324198'
group by r.ctripnumber, r.cmethod) A
, но я получаю следующую ошибку:
Сообщение 4104, Уровень 16, Состояние 1, Строка 1
Не удалось связать идентификатор из нескольких частей «r.ctripnumber».