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

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; 

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

请您参考如下方法:

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

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

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; 


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!