首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在zend框架中使用计数和区分?

如何在zend框架中使用计数和区分?
EN

Stack Overflow用户
提问于 2015-07-24 16:44:28
回答 1查看 536关注 0票数 1

我试图用zend重写下面的查询

代码语言:javascript
复制
 SELECT COUNT(DISTINCT CPS.supplier_id, CPS.manufacturerid,CPS.categories_id)

            FROM suppliers_report AS CPS

            INNER JOIN  category_brand B ON B.categories_id = CPS.categories_id AND B.manufacturerid = CPS.manufacturerid

            INNER JOIN manufacturer m ON m.manufacturerid = CPS.manufacturerid

                          WHERE s.isactive=1 AND CPS.flg = 2 AND CPS.categories_id = c.parent_id

我在zend中尝试了上面的查询,如

代码语言:javascript
复制
 $this->select()     
      ->setIntegrityCheck(false) 
            ->from(array('CPS' => 'suppliers_report'), array('CPS.supplier_id', 'CPS.manufacturerid', 'CPS.categories_id'))
            ->join(array('B' => 'category_brand'), 'B.categories_id=CPS.categories_id' AND 'B.manufacturerid = CPS.manufacturerid')  
            ->join(array('m' => 'manufacturer'), 'm.manufacturerid = CPS.manufacturerid')
            ->where('s.isactive=1 AND CPS.flg = 2 AND CPS.categories_id = c.parent_id AND CPS.manufacturerid=ctb.manufacturerid');

我一直在讨论如何将countDISTINCT包含在上面的case.Please帮助中

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-24 16:52:48

您需要对COUNT()这样的函数使用Zend_Db_Expr,尝试如下所示:

代码语言:javascript
复制
 $this->select()     
      ->setIntegrityCheck(false) 
      ->from(array('CPS' => 'suppliers_report'), array(new Zend_Db_Expr('COUNT(DISTINCT CPS.supplier_id, CPS.manufacturerid,CPS.categories_id)')))
      ->join(array('B' => 'category_brand'), 'B.categories_id=CPS.categories_id' AND 'B.manufacturerid = CPS.manufacturerid')  
      ->join(array('m' => 'manufacturer'), 'm.manufacturerid = CPS.manufacturerid')
      ->where('s.isactive=1 AND CPS.flg = 2 AND CPS.categories_id = c.parent_id AND CPS.manufacturerid=ctb.manufacturerid');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31615742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档