【Laravel】FROM句にサブクエリを入れて集計したい
type | total | subtotal |
---|---|---|
1 | 10 | 0 |
1 | 0 | 20 |
2 | 100 | 0 |
2 | 0 | 200 |
LaravelでUNION ALLしたこういう結果表を集計したいときは以下のように書く。
DB::table(DB::raw('(' . $subQuery->toSql() .') AS s1')) ->mergeBindings($subQuery) ->selectRaw( 'SUM(s1.total) + SUM(s1.subtotal)' ) ->groupBy(['s1.type']) ->get();