#mysql #database #laravel #eloquent
Вопрос:
Мне нужно сделать запрос суммы значений в диапазоне дат и суммы значений до определенной даты в одном запросе.
```SELECT s.*,
(SELECT SUM(s1.amount)
FROM sales s1
WHERE `dates` BETWEN $start AND $enddate as salesrange,
(SELECT SUM(s2.amount)
FROM sales s2
WHERE `dates` < $start salesyesterday
FROM sales s
Мне это действительно понравилось
$categories = account::leftJoin('regularvoucherentrydetails',
function ($join){
$join->on('regularvoucherentrydetails.account_name',
'=' , 'accounts.id') ;
$join->whereBetween('regularvoucherentrydetails.dates',
['2021-08-01','2021-08-31']);
$join-
>select(DB::raw('sum(regularvoucherentrydetails.amount)
as sums'),'regularvoucherentrydetails.debitcredit');
},
function ($joins){
$joins->
where('regularvoucherentrydetails.dates','<',
'2021-08-01');
$joins->
select(DB::raw('sum(regularvoucherentrydetails.amount)
as sum'),'regularvoucherentrydetails.debitcredit');
})->
select('accounts.id','accounts.name','accounts.seqnumber',
'accounts.accounttype')->
groupBy('accounts.id','accounts.name',
'accounts.seqnumber',
'regularvoucherentrydetails.debitcredit',
'accounts.accounttype')
->orderBy('accounts.fullcode','asc')
->get();
Как я могу это сделать в ларавеле
Любая помощь приветствуется.
Комментарии:
1. Что вы пробовали? Вы просмотрели документы? Мы не будем учить вас «Как это делается». Вам нужно провести некоторое исследование и попытаться написать код самостоятельно. Если вы застрянете, мы будем рады помочь. быстрый совет:
DB:raw
2. По какой причине нужно получать все столбцы,
sales
если вам нужны только суммы?3. Мне нужны почти все столбцы и столбец СУММЫ в разных состояниях