脚本宝典收集整理的这篇文章主要介绍了php – 将SQL查询循环合并到一个SQL查询中,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
$companies = array(); foreach ($fortune500Service->listAll() as $c ){ $count = $entITyManager ->createQueryBuilder() ->select("count(u)") ->From("AppBundle\Entity\User","u") ->where("u.email LIKE :d") ->setParameter("d","%@" . $c["Domain"]) ->getQuery()->getSingleScalarResult(); if ($count == 0) { continue; } $companies[] = array( "Domain" => $c["Domain"],"Company" => "{$c["Company"]} ({$count})",); } return $companies;
我要合并的2个SQL查询的示例
查询1
SELECT count(u0_.id) From user u0_ WHERE u0_.email LIKE '%@company1.COM'
查询2
SELECT count(u0_.id) FROM user u0_ WHERE u0_.email LIKE '%@company2.com'
我更喜欢使用createQueryBuilder http://symfony.com/doc/current/book/doctrine.html#querying-for-objects-using-doctrine-s-query-builder的解决方案,但我也很高兴使用sql本机查询.
SELECT COUNT(CASE WHEN u0_.email LIKE '%@company1.com' THEN 1 END) as First_cnt,COUNT(CASE WHEN u0_.email LIKE '%@company2.com' THEN 1 END) as First_cnt FROM user u0_
以上是脚本宝典为你收集整理的php – 将SQL查询循环合并到一个SQL查询中全部内容,希望文章能够帮你解决php – 将SQL查询循环合并到一个SQL查询中所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。