以下代码经过本地ORACLE数据库测试通过,你的问题是没有进行分组。
SELECT m.id,
m.编号,
m.类型,
m.金额,
nvl(n.tj
,0) AS 调减,
nvl((m.金额 - n.tj)
,0) AS 可用
FROM (SELECT a.id,
a.编号,
a.类型,
a.金额
FROM a
WHERE a.类型 IN ('正常'
,'调增')) m,
(SELECT a.id,
SUM(金额) tj
FROM a
WHERE a.类型 = '调减'
GROUP BY a.id) n
WHERE m.id = n.id(+)