4 回答

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
SELECT distinct a.購房人,a.房間號(hào),(a.總房價(jià) -
(SELECT SUM( b.已收款金額 )
FROM table1 a, table2 b
WHERE a.房間號(hào) = b.房間號(hào)
))
FROM table1 a,table2 b where
a.房間號(hào) = b.房間號(hào)
或者按樓主的方法
SELECT distinct a.購房人,a.房間號(hào),(a.總房價(jià) - (
SELECT SUM( b.已收款金額 )
FROM table1 a, table2 b
WHERE a.房間號(hào) = b.房間號(hào)
) )
FROM table1 a
LEFT JOIN table2 b ON
a.房間號(hào) = b.房間號(hào)
不能用group by 語句,不過還是不太好
樓主寫的不對(duì),首先b.SUM(已收款金額) 不能這么寫,sum(b.已收款金額)還行。這種left join groupby 也不能這么用。
在Oracle里面加減乘除是可以直接用+-*/的,也就是說"a.總房價(jià)"后面可以直接跟運(yùn)算符。

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊
先用聚合函數(shù)求和,然后再減
1 2 3 4 5 | SELECT t1.購房人, (t1.總房價(jià)- tu.已收款金額) AS UnPaid FROM table1 AS t1, (SELECT sum(t2.已收款金額) AS 已收款金額,房間號(hào) FROM dbo.table2 AS t2 GROUP BY 房間號(hào)) as tu WHERE t1.房間號(hào)= tu.房間號(hào) |

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
select 購房人,房間號(hào),(總房價(jià)-已收款金額) from table1 a inner join table2 b on a.房間號(hào)=b.房間號(hào)
- 4 回答
- 0 關(guān)注
- 4894 瀏覽
添加回答
舉報(bào)