thinkphp sql查询合并 5

$SQL=M('办理信息');$zongji['新订单']=$SQL->where("状态=0and部门名称='".$bmmc."'")->count();$zongji... $SQL=M('办理信息');
$zongji['新订单']=$SQL->where("状态=0 and 部门名称='".$bmmc."'")->count();
$zongji['办理中']=$SQL->where("状态=1 and 部门名称='".$bmmc."'")->count();
$zongji['异常']=$SQL->where("状态=2 and 部门名称='".$bmmc."'")->count();
$zongji['成功']=$SQL->where("状态=4 and 部门名称='".$bmmc."'")->count();
$zongji['失败']=$SQL->where("状态=8 and 部门名称='".$bmmc."'")->count();
$zongji['未付']=$SQL->where("状态>0 and 状态<8 and 付款=0 and 部门名称='".$bmmc."'")->count();
$zongji['未付金额']=sprintf("%.2f", $SQL->where("状态=4 and 付款=0 and 部门名称='".$bmmc."'")->sum('总金额'));

上面一共查询了7次数据库 有没有精简的方法 不需要查询那么多次 得到想要的数据?
展开
 我来答
luocongjay
2014-11-10 · TA获得超过949个赞
知道小有建树答主
回答量:1382
采纳率:33%
帮助的人:444万
展开全部
$zongji['新订单']=$SQL->where("状态 in (0,1,2,4,8) and 部门名称='".$bmmc."'")->field("count(*) as count,状态")->group("状态")->select();

大概就这个意思了 单独的状态可以用in +group 出来。剩下的就是用php数组转换成你想要的数据。

未付的条件过多且无规律 还是直接写比较好

睡着的糖葫芦
2014-11-10 · TA获得超过124个赞
知道小有建树答主
回答量:172
采纳率:0%
帮助的人:151万
展开全部
因为你每次查询的条件都不一样,只能多次分开来查。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神鸢鹤戾
2014-11-10 · 超过29用户采纳过TA的回答
知道答主
回答量:174
采纳率:0%
帮助的人:92.3万
展开全部
你要得到什么数据啊 能说清楚点吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式