मुझे लगता है कि आप यह सब एक बार में नहीं कर सकते क्योंकि आप एक ही समय में अलग-अलग तालिकाओं से आइटम समूह/योग करना चाहते हैं। इसे आजमाएं:
select unit, name, stays, days, total_price, charges, mgmt_fee,
(total_price*.01*mgmt_fee) AS management,
(total_price-(total_price*.01*mgmt_fee)-charges) AS bal
from (
select
x.unit,
name,
count(*) as stays,
sum(days) as days,
sum(total_price) as total_price,
charges,
mgmt_fee
from
(select
unit ,
datediff(depart,arrival) as days,
total_price
from
Reservations
) as x
join (
select unit, sum(amount) as charges
from Charges
group by unit
) as y
on x.unit = y.unit
join Unit as u
on u.id = x.unit
group by unit
) as inner_result
बहुत साफ-सुथरा या सुरुचिपूर्ण नहीं है, लेकिन मुझे लगता है कि यह काम करता है। ध्यान दें कि आपको सावधान रहना होगा यदि प्रति यूनिट शुल्क में 1 पंक्ति हो सकती है। इसे चलाने के लिए यहां एक पहेली है:http://sqlfiddle.com/#!2/f05ba/18