thanks for your help
but what i need get result as one array
i have done this
$spduties = DB::select('select id, SUM(cash_in) as cash_in_sum,SUM(cash_out) as cash_out_sum,SUM(price) as sum_price
from (
select id ,0 as cash_in,0 as cash_out,0 as price
from supervisors
union
select person_id,cash_in,cash_out,0 as price
from cash_flows ts
union all
select supervisor_id, 0 as cash_in,0 as cash_out, price
from spduties
) sc
where id != 0
group by id');
and get this result
[
{
"id": 1,
"cash_in_sum": 87936.15,
"cash_out_sum": 71845,
"sum_price": 3150
},
{
"id": 2,
"cash_in_sum": 68740,
"cash_out_sum": 239120,
"sum_price": 0
},
{
"id": 3,
"cash_in_sum": 0,
"cash_out_sum": 0,
"sum_price": 0
},
{
"id": 4,
"cash_in_sum": 0,
"cash_out_sum": 0,
"sum_price": 0
}
]
but the problem that i need to get user name witch call "sv_name" in supervisors table
the query have to be like this
$spduties = DB::select('select id,sv_name, SUM(cash_in) as cash_in_sum,SUM(cash_out) as cash_out_sum,SUM(price) as sum_price
from (
select id ,sv_name,0 as cash_in,0 as cash_out,0 as price
from supervisors
union
select person_id,0 as sv_name, cash_in,cash_out,0 as price
from cash_flows ts
union all
select supervisor_id,0 as sv_name, 0 as cash_in,0 as cash_out, price
from spduties
) sc
where id != 0
group by id');
this query run without any problem in phpmyadmin
but in query bullder i get this error
SQLSTATE[42000]: Syntax error or access violation: 1055 'sc.sv_name' isn't in GROUP BY (SQL: select id,sv_name, SUM(cash_in) as cash_in_sum,SUM(cash_out) as cash_out_sum,SUM(price) as sum_price
from (
select id ,sv_name,0 as cash_in,0 as cash_out,0 as price
from supervisors
union
select person_id,0 as sv_name, cash_in,cash_out,0 as price
from cash_flows ts
union all
select supervisor_id,0 as sv_name, 0 as cash_in,0 as cash_out, price
from spduties
) sc
where id != 0
group by id)
any idea ?
thanks