4 回答
TA贡献1725条经验 获得超7个赞
SELECT distinct a.购房人,a.房间号,(a.总房价 -
(SELECT SUM( b.已收款金额 )
FROM table1 a, table2 b
WHERE a.房间号 = b.房间号
))
FROM table1 a,table2 b where
a.房间号 = b.房间号
或者按楼主的方法
SELECT distinct a.购房人,a.房间号,(a.总房价 - (
SELECT SUM( b.已收款金额 )
FROM table1 a, table2 b
WHERE a.房间号 = b.房间号
) )
FROM table1 a
LEFT JOIN table2 b ON
a.房间号 = b.房间号
不能用group by 语句,不过还是不太好
楼主写的不对,首先b.SUM(已收款金额) 不能这么写,sum(b.已收款金额)还行。这种left join groupby 也不能这么用。
在Oracle里面加减乘除是可以直接用+-*/的,也就是说"a.总房价"后面可以直接跟运算符。
TA贡献1840条经验 获得超5个赞
先用聚合函数求和,然后再减
1 2 3 4 5 | SELECT t1.购房人, (t1.总房价- tu.已收款金额) AS UnPaid FROM table1 AS t1, (SELECT sum(t2.已收款金额) AS 已收款金额,房间号 FROM dbo.table2 AS t2 GROUP BY 房间号) as tu WHERE t1.房间号= tu.房间号 |
TA贡献1788条经验 获得超4个赞
select 购房人,房间号,(总房价-已收款金额) from table1 a inner join table2 b on a.房间号=b.房间号
- 4 回答
- 0 关注
- 4852 浏览
添加回答
举报