mysql - 如何从两个查询中减去?
Posted
技术标签:
【中文标题】mysql - 如何从两个查询中减去?【英文标题】:mysql - How to subtract from two queries? 【发布时间】:2021-07-10 17:39:27 【问题描述】:我有来自 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
【问题讨论】:
每个查询的结果是什么? 将两个查询加入 product_id 上的子查询并减去 你能举个例子吗? @nbk 【参考方案1】:根据 laravel 文档,您可以通过 joinSub、leftJoinSub 和 rightJoinSub 连接两个或多个查询表。 你可以看到例子 https://laravel.com/docs/8.x/queries#subquery-joins 对于 substration,您可以使用 joinSub
【讨论】:
以上是关于mysql - 如何从两个查询中减去?的主要内容,如果未能解决你的问题,请参考以下文章