2011-05-08 158 views
1

可以someboby請幫助我這個查詢。 Basicall我知道如何連接表Zend框架,但我無法弄清楚是開始「AND ......」多數民衆贊成在我開始我subquery.My查詢是這樣zend框架查詢

SELECT requests.`email`,requests.`title`, `request_category`.`request_category_name`, 
     `request_route_category`.`department_id`,`departments`.`department_name` 
FROM requests 
JOIN `request_category` ON requests.`requests_category_id` = request_category.`request_category_id` 
JOIN `request_route_category` ON `request_category`.`path_id` = `request_route_category`.`path_id` 
JOIN `departments` ON `request_route_category`.`department_id` = `departments`.`department_id` 
        AND (SELECT `department_id` 
         FROM `request_route_category` 
         WHERE `request_route_category`.`department_id`=`departments`.`department_id` 
         AND `request_route_category`.`is_complete`=0 
         LIMIT 1)=7 
最後一部分

我有這個現在

$select=$this->select() 
     ->setIntegrityCheck(false) 
     ->from($this->_name,array('reqemail'=>'email','reqcreated'=>'created')) 
     ->join('request_category', 'requests.requests_category_id=request_category.request_category_id',array('catpath'=>'path_id','catid'=>'request_category.request_category_id','catname'=>'request_category_name')) 
     ->join('request_route_category', 'request_category.path_id=request_route_category.path_id',array()) 
     ->join('departments','request_route_category.department_id=departments.department_id'); 
+0

你可以發佈你現在或者你已嘗試什麼什麼? – Marcin 2011-05-08 10:41:26

+0

@jamon我的意思是如果你可以發佈你的zend_db_select。你寫道,你知道如何進行連接,所以我假設你至少有部分zend_db_select用於這個查詢。 – Marcin 2011-05-08 11:01:02

+0

@Marcin我已經包括了我現在請看看 – ngunjirimacharia 2011-05-08 11:19:01

回答

1

據我知道你不能與Zend_Db的加入做子查詢,但你可以這樣做:

$subQuery = $this->select() 
     ->setIntegrityCheck(false) 
     ->from('request_route_category') 
     ->where('request_route_category.department_id = departments.department_id') 
     ->where('request_route_category.is_complete = ?', 0) 
     ->limit(1); 

$sql = $select=$this->select() 
    ->setIntegrityCheck(false) 
    ->from($this->_name,array('reqemail'=>'email','reqcreated'=>'created')) 
    ->join('request_category', 'requests.requests_category_id=request_category.request_category_id',array('catpath'=>'path_id','catid'=>'request_category.request_category_id','catname'=>'request_category_name')) 
    ->join('request_route_category', 'request_category.path_id=request_route_category.path_id',array()) 
    ->join('departments','request_route_category.department_id=departments.department_id AND ('.$subQuery.')=7');