This question already has answers here:
Can I reuse a calculated field in a SELECT query?
                                
                                    (7个答案)
                                
                        
                                5个月前关闭。
            
                    
我想知道如何使用已经在sql查询中计算的两列从它们的值中获取更多结果。
我的查询是

SELECT s.date date
     , p.id
     , SUM(COALESCE(p.avgcost,0)) costofsale
     , SUM( COALESCE(s.actual_payable, 0 ) ) total_sales
     , (total_sales - costofsale) tots
  FROM sales s
  LEFT
  JOIN sale_items si
    on si.sale_id = s.id
  LEFT
  JOIN products p
    on p.id = si.product_id
 WHERE DATE(s.date) =  DATE('2019-09-10 14:48:50')


我想从total_sales-在查询中已经计算出的costofsale中获取结果。

我不想更改或更新我的表。

我只需要使用这两列就可以通过计算得出结果。

我还没有通过Google找到任何解决方案。

最佳答案

MySQL 8包含WITH语句,该语句允许在不使用变量的情况下创建计算值。

WITH statement VS subquery

关于mysql - 计算列以进一步在mysql查询中使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57877054/

10-14 14:00
查看更多