在Oracle查询中减去两个数值列值

2 sql oracle

我需要减去两个列值,并在选择查询中显示输出列。

SELECT c.name,
    (SELECT SUM(p.qty*s.price)
     FROM stock s, purchase p 
     WHERE s.company = p.company 
     GROUP BY p.company) 
 MINUS 
    (SELECT SUM(p.price*p.qty) 
     FROM stock s, purchase p 
     WHERE s.company = p.company 
     GROUP BY p.company)  AS "Profit/Lost" 
 FROM purchase p, client c, stock s 
 WHERE  s.company = p.company 
     AND c.clno = p.clno  
 GROUP BY p.company;
Run Code Online (Sandbox Code Playgroud)

但是它将显示一个错误。怎么解决?

Cha*_*ana 5

第一个子查询需要一个别名。

但是为什么要使用子查询呢?这是你想要的吗?

SELECT c.name, p.company,
   SUM(p.qty*s.price) - SUM(p.price*p.qty) roe
FROM client c
   join purchase p on p.clno  = c.clno 
   join stock s on s.company = p.company 
GROUP BY c.name, p.company;
Run Code Online (Sandbox Code Playgroud)