當總付款大于賬單時,如何僅過濾掉一個結果?
我嘗試了3種這樣的方法,但仍然沒有用
謝謝
1.試一試(不作業)
$paid_off= Instalments::distinct()->whereRaw('bills >= payments ')->get();
2.第二次嘗試(不作業)
$paid_off = DB::table('instalments')
->selectRaw('count(*) as badanusaha_id, badanusaha_id')
->where(('Sum(bills )'), '>=', ('Sum([payments][1] )'))
->groupBy('badanusaha_id')
->distinct()
->get();
3.第三次嘗試(不作業)
$pem1 = Instalments::distinct(DB::raw("CAST(SUM(bills) as int) as pem1"));
$pem2 = Instalments::select(DB::raw("CAST(SUM(payments ) as int) as pem2"));
if($pem1 >= $pem2){
$paid_off = Instalments::distinct()->select('*')->get();
}
圖片
從這張圖片中,只顯示一個資料是 PT Mandiri,因為總付款額大于總賬單
uj5u.com熱心網友回復:
我不知道你想在這里實作什么。但從你提到的最后一句話
僅顯示一項資料是 PT Mandiri,因為總付款額大于總賬單
此查詢將按預期作業:
$instalments = Instalments::query()
->whereRaw('payments >= bills')
->groupBy('badanusaha_id')
->get();
結果:
array:1 [▼
0 => {#1357 ▼
"id": 1
"badanusaha_id": 45
"bills": "100.00"
"payments": "100.00"
}
]
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/497259.html
上一篇:查找值最接近的行
下一篇:嵌套INNERJOIN的問題
