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

zenddbでネストされたselectを構築する方法

    Zend_Db_Expr クエリ内のオブジェクトと一部のASの配列構造 。

    以下はあなたが探している解決策です:

    <?php
    
    $db = Zend_Db_Table::getDefaultAdapter();
    
    //  inner query
    $sqlSalesRepTotal = $db->select()
            ->from(array('ps' => 'profile'))
            ->joinLeft(array('xbp' => 'xref_store_profile_brand'), 'xbp.profile_id = ps.profile_id')
            ->where('xbp.brand_id = b.brand_id')
            ->where('ps.role = ?', 'salesrep')
            ->where('xbp.store_id IS NULL');
    
    //  main query
    $sql = $db->select()
            ->from(array('b' => 'brand'), array(
                //  NOTE: have to add parentesis around the expression
                'salesrepTotal' => new Zend_Db_Expr("($sqlSalesRepTotal)")
            ))
            ->where('....')
            ->group('brand_id');
    
    
    //  debug
    var_dump($db->fetchAll($sql));
    



    1. SQLの欠落データテーブルにCreatedByとCreatedOnを挿入します

    2. SQL INSERT...SELECTと自動インクリメントDATETIME

    3. MySQLの別のテーブルに存在しない行を表示する方法

    4. MySQLセッション/ユーザーに対するFILE特権