【发布时间】:2017-05-19 16:02:26
【问题描述】:
我有三张表customer、bargains和installment。
我想从 customer 表中选择 name 并从 bargains 表中选择 total price 的总和以及 的总和根据每个客户从分期付款表中的付款金额,最后从付款金额的总和中减去总价格的总和。
所以结果应该是一个包含所有客户名称及其债务的列表。
我尝试了以下命令,但它返回错误的值,看起来它们相加了两次或更多。
select c.name, b.total_price, i.payment_amount
from customer as c
inner join (select sell_or_buy, sum(total_price) as total_price from bargains group by C_ID ) as b on (b.sell_or_buy = 'خرید')
inner join (select trade_type, sum(payment_amount) as payment_amount from installment group by C_ID ) as i on (i.trade_type = 'پرداخت')
group by c.C_ID
因为我认为查询总和每条分期付款表记录的总价格和总和每条讨价还价表记录的付款金额我尝试在内部连接中使用选择来使它们中的每一个都不同但它不起作用
所以我什至无法减去结果。
我也尝试以下查询
select
(select sum(payment_amount) as payment_amount from installment where trade_type = 'پرداخت'group by C_ID)-
(select sum(total_price) as total_price from bargains where sell_or_buy = 'خرید' group by C_ID)as result
表示查询返回多行的显示和错误。
当我从上面的查询中只使用一个选择时,结果是好的,但是当我尝试组合它时它不起作用。
【问题讨论】: