Как преобразовать суб-запрос SQL в Laravel Query Builder?

Как преобразовать суб-запрос SQL в Laravel Query Builder?

16.11.2019 09:00:59 Просмотров 43 Источник

Ниже приведен мой 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?

Является ответом!
fahim152

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;');

https://stackoverflow.com/questions/58893658/how-to-convert-an-sql-sub-query-in-laravel-query-builder/58893696#comment104052520_58893696
Спасибо, фахим152. Это работает на меня.
https://stackoverflow.com/questions/58893658/how-to-convert-an-sql-sub-query-in-laravel-query-builder/58893696#comment104052583_58893696
добро пожаловать брат :)
Закрыть X