sql >> データベース >  >> RDS >> Mysql

zendフレームワークを使用した複数のサブクエリ

    これを試してください:

    $psub=$this->db->select()
        ->setIntegrityCheck(false)
        ->from(array('p'=>'projecttouser'),array('count(p.u_id) as count'))
        //->join(array('i'=>'usermaster'),'p.u_id=i.id') // no need for this join
        ->where('usermaster.id=projecttouser.u_id');
    
    $tsub=$this->db->select()
        ->setIntegrityCheck(false)
        ->from(array('t'=>'tasktotarget'),array('count(t.assigned_to) as tcount'))
        ->where('usermaster.id=tasktotarget.assigned_to');
    
    $tasub=$this->db->select()
        ->setIntegrityCheck(false)
        ->from(array('ta'=>'tasktotarget'),array('count(ta.assigned_to) as tacount'))
        ->where('usermaster.id=tasktotarget.assigned_to AND tasktotarget.is_active = 1 ');
    
    $sql=$this->db->select()
        ->setIntegrityCheck(false)
        ->from(array('u'=>'usermaster'), array('usermaster.*', 
                'proj' => new Zend_Db_Expr('(' . $psub . ')'),
                'target' => new Zend_Db_Expr('(' . $tsub . ')'),
                'active' => new Zend_Db_Expr('(' . $tasub . ')')))
        ->group('u.id')
        //->order($order_by . ' ' . $order)
        ->where('u.is_delete=false');
    
    $resultSet = $this->fetchAll($sql);
    return $resultSet;
    

    Doc: http://framework.zend.com/manual /1.12/en/zend.db.select.html




    1. LinuxからのSQLServerBULK INSERT

    2. SQLServerで使用できるさまざまな種類の制約-SQLServer/T-SQLチュートリアルパート50

    3. サイトを新しいドメインとサーバーに移行した後、WordPressのカスタム構造のパーマリンクが壊れます

    4. フィールドをidの値に更新するMySQLトリガー