【问题标题】:mysql - How to subtract from two queries?mysql - 如何从两个查询中减去?
【发布时间】:2021-07-10 17:39:27
【问题描述】:

我有来自 2 个表的 2 个查询(purchase_productssales_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

标签: php mysql sql laravel


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2023-01-15
    • 1970-01-01
    • 1970-01-01
    • 2017-04-05
    • 2019-11-07
    • 1970-01-01
    • 2013-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多