如何计算两个SQL查询的差值
Robert De Niro
Robert De Niro 2023-09-07 20:06:33
0
1
564

我想在entotalitem和extotalitem之间进行减法运算,查询我使用的是从同一个表tbl_orders_data中检索数据。

我尝试了创建2个查询,第一个查询用于检索entotalitem,第二个查询用于检索extotalitem

$encheck = DB::table('tbl_orders_data') ->select('slot_id', DB::raw('sum(total_item) as entotalitem')) ->where('id_order_data', 'like', 'PBM' . '%') ->groupBy('slot_id') ->pluck('entotalitem'); $excheck = DB::table('tbl_orders_data') ->select('slot_id', DB::raw('sum(total_item) as extotalitem')) ->where('id_order_data', 'like', 'PBK' . '%') ->groupBy('slot_id') ->pluck('extotalitem'); $en = $encheck; $ex = $excheck; dd($en - $ex);

我只需要使用一个查询吗?还是应该像我尝试的那样进行2个查询? 请帮帮我,谢谢

Robert De Niro
Robert De Niro

全部回复 (1)
P粉515066518

您可以在这里使用条件聚合:

$check = DB::table('tbl_orders_data') ->select('slot_id', DB::raw("sum(case when id_order_data like 'PBM%' then total_item else 0 end) - sum(case when id_order_data like 'PBK%' then total_item else 0 end) as totalitem")) ->groupBy('slot_id') ->pluck('totalitem');
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!