求教用SQL语言(Oracle)实现记录中某一值添加到另一条记录的新字段中。

2024-12-05 07:21:40
推荐回答(1个)
回答(1):

以下代码经过本地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(+)