Bagaimana untuk mengira perbezaan antara dua pertanyaan SQL
P粉036800074
P粉036800074 2023-09-07 20:06:33
0
1
646

Saya ingin melakukan penolakan antara entotalitem dan exotalitem, pertanyaan yang saya gunakan adalah untuk mendapatkan semula data dari jadual tbl_orders_data yang sama.

Saya cuba mencipta 2 pertanyaan, pertanyaan pertama adalah untuk mendapatkan semula entotalitem dan pertanyaan kedua adalah untuk mendapatkan exotalitem

$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);

Adakah saya hanya perlu menggunakan satu pertanyaan? Atau patutkah saya melakukan 2 pertanyaan seperti yang saya cuba? Tolong bantu saya, terima kasih

P粉036800074
P粉036800074

membalas semua(1)
P粉515066518

Anda boleh menggunakan pengagregatan bersyarat di sini:

$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');
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan