Как преобразовать суб-запрос SQL в Laravel Query Builder?
Ниже приведен мой SQL-запрос. Я гуглю, чтобы преобразовать Laravel Query Builder, но не могу найти хорошее решение. Пожалуйста, помогите мне.
SELECT p.WARD AS `Ward`
, (SELECT COUNT(p1.SEX) FROM persons AS p1 WHERE p1.SEX=1 AND p.`WARD`=p1.WARD) AS `Male`
, (SELECT COUNT(p1.SEX) FROM persons AS p1 WHERE p1.SEX=2 AND p.`WARD`=p1.WARD) AS `Female`
, (SELECT COUNT(p1.SEX) FROM persons AS p1 WHERE p1.SEX=3 AND p.`WARD`=p1.WARD) AS `Other`
FROM persons AS p
GROUP BY p.`WARD` ORDER BY p.`WARD` ASC;
У вопроса есть решение - Посмотреть?
Ответы - Как преобразовать суб-запрос SQL в Laravel Query Builder? / How to convert an SQL sub query in Laravel Query Builder?
Является ответом!

16.11.2019 09:06:09
Здесь вы можете выполнять необработанные sql-запросы в laravel, используя только DB::select(");
Проверить следующее. Надежда решает вашу проблему.
$data = DB::select('SELECT p.WARD AS `Ward`
, (SELECT COUNT(p1.SEX) FROM persons AS p1 WHERE p1.SEX=1 AND p.`WARD`=p1.WARD) AS `Male`
, (SELECT COUNT(p1.SEX) FROM persons AS p1 WHERE p1.SEX=2 AND p.`WARD`=p1.WARD) AS `Female`
, (SELECT COUNT(p1.SEX) FROM persons AS p1 WHERE p1.SEX=3 AND p.`WARD`=p1.WARD) AS `Other`
FROM persons AS p
GROUP BY p.`WARD` ORDER BY p.`WARD` ASC;');
Помочь в развитии проекта: