0, у меня есть этот код, который отлично работает
$data = DB::table('incidencias')
->join('clientes_incid', 'clientes_incid.rif', '=', 'incidencias.rif')
->select(DB::raw('count(*) as gold, cat_cliente'))->where('cat_cliente', '=','Gold')
->groupBy('cat_cliente')
->get();
Я хочу сделать еще один выбор, но с другим условием, я пытался с этим, но не работает
$data = DB::table('incidencias')
->join('clientes_incid', 'clientes_incid.rif', '=', 'incidencias.rif')
->select(DB::raw('count(*) as gold, cat_cliente'))->where('cat_cliente', '=','Gold')
->select(DB::raw('count(*) as silver, cat_cliente'))->where('cat_cliente', '=','Silver')
->groupBy('cat_cliente')
->get();
Кто-нибудь может мне помочь?
1
Oscar
20 Дек 2019 в 17:49
1 ответ
Group By cat_cliente
, это будет считать золото, считать серебро ... в каждой записи.
DB::table('incidencias')
->join('clientes_incid', 'clientes_incid.rif', '=', 'incidencias.rif')
->select(DB::raw('count(incidencias.id) as count'), cat_cliente)
->whereIn('cat_cliente', ['Gold', 'Silver'])
->groupBy('cat_cliente')
->get();
выход =>
-----------------
count | cat_cliente
------------------
10 | Gold
------------------
3 | Siliver
-----------------
Вы хотите поместить их в одну запись, я думаю, что вы можете вывести их и показать их по циклу. Однако, если вы действительно хотите получить его в запросе, попробуйте это:
$gold_query = DB::table('incidencias')
->join('clientes_incid', 'clientes_incid.rif', '=', 'incidencias.rif')
->where('cat_cliente', 'Gold')
->selectRaw('COUNT(incidencias.id) AS gold', '0 AS silver');
$silver_query = DB::table('incidencias')
->join('clientes_incid', 'clientes_incid.rif', '=', 'incidencias.rif')
->where('cat_cliente', 'Silver')
->selectRaw('0 AS gold, count(incidencias.id) AS silver');
$gold_silver = $gold_query->unionAll($silver_query);
DB::table(DB::raw("({$gold_silver->toSql()}) AS gs"))
->mergeBindings($gold_silver)
->selectRaw('SUM(gold) AS gold, SUM(silver) AS silver')
->get()
Выход =>
----------------
gold | silver |
-----------------
10 | 3 |
----------------
0
TsaiKoga
20 Дек 2019 в 15:59
Новые вопросы
php
PHP - это широко используемый высокоуровневый, динамический, объектно-ориентированный и интерпретируемый язык сценариев, в первую очередь предназначенный для серверной веб-разработки. Используется для вопросов о языке PHP.