我有来自 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
答案 0 :(得分:0)
根据 Laravel 文档,您可以通过 joinSub、leftJoinSub 和 rightJoinSub 连接两个或多个查询表。 你可以在 https://laravel.com/docs/8.x/queries#subquery-joins 对于 substration,您可以使用 joinSub