0

我想使用别名列进行计算,然后我想在该计算值上应用 orderBy,下面是我有两个别名 products_total_cost 和 sales 的查询,我想做的是通过这个公式创建一个新的别名, ((sales - products_total_cost) / sales) 作为 margin_value

  $products = Warehouse::select(DB::raw('SUM(CASE 
  WHEN o.primary_status="3" THEN (op.actual_cost * op.qty_shipped) 
  END) AS products_total_cost,
  CASE 
  WHEN o.primary_status="3" THEN SUM(op.total_price) END AS sales,CASE 
  WHEN o.primary_status="3" THEN SUM(op.vat_amount_total) END AS vat_amount_total,CASE 
  WHEN o.primary_status="3" THEN SUM(op.import_vat_amount) END AS import_vat_amount'),'warehouses.warehouse_title','warehouses.id as wid','op.user_warehouse_id','op.product_id','o.customer_id','o.dont_show')->groupBy('warehouses.id');
  $products->join('order_products AS op','op.user_warehouse_id','=','warehouses.id');
  $products->join('orders AS o','o.id','=','op.order_id');
  $products->where('o.dont_show', 0);
  $products = $products->where('o.primary_status',3);
  $products = $products->whereNotNull('op.product_id');

下面我有一个 SQL 查询,我想在 laravel 中实现这个在此处 输入图像描述

4

0 回答 0