如何在 Laravel Query Builder 中转换 SQL 子查询?
How to convert an SQL sub query in Laravel Query Builder?
以下是我的SQL查询。我在谷歌上搜索转换 Laravel 查询生成器,但找不到好的解决方案。请帮助我。
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;
在这里,您可以仅使用 DB::select('');
在 laravel 中执行原始 sql 查询
检查以下内容。希望能解决您的问题。
$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;');
以下是我的SQL查询。我在谷歌上搜索转换 Laravel 查询生成器,但找不到好的解决方案。请帮助我。
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;
在这里,您可以仅使用 DB::select('');
在 laravel 中执行原始 sql 查询检查以下内容。希望能解决您的问题。
$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;');