mysql - 如何从两个查询中减去?

时间:2021-07-10 17:39:27

标签: php mysql sql laravel

我有来自 2 个表的 2 个查询 (purchase_products & sales_products),我想从第一个查询数量减去第二个查询数量。

第一次查询:

$purchase_products = DB::table('purchase_products')
            ->join('products','products.id','purchase_products.product_id')
            ->select('products.product_name','purchase_products.purchase_price',DB::raw("SUM(purchase_products.quantity) as purchase_quantity"))
            ->groupby('purchase_products.product_id','purchase_products.purchase_price')
            ->get();

第二个查询:

 $sales_products = DB::table('sales_products')
            ->select('sales_products.purchase_price',DB::raw("SUM(sales_products.quantity) as sales_quantity"))
            ->groupby('sales_products.product_id','sales_products.purchase_price')
            ->get();

如何只从第二个查询中减去数量并保持第一个查询的原样?

unique column: product_id & purchase_price

1 个答案:

答案 0 :(得分:0)

根据 Laravel 文档,您可以通过 joinSub、leftJoinSub 和 rightJoinSub 连接两个或多个查询表。 你可以在 https://laravel.com/docs/8.x/queries#subquery-joins 对于 substration,您可以使用 joinSub

相关问题