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

ZendDBを使用してサブクエリを作成する

    必要に応じて、@ karim79が行ったことを利用して、副選択を$ this-> select()に変えることもできます...

    $subselect = $db->select()
    ->from('sle_instances', array(new Zend_Db_Expr('max(id)')))
    ->where('sle_id = s.id');
    
    $select = $db->select()->from(array("s" => "sles"), 
    array("s.id","i.id as instanceid","i.reference","i.name","i.sic_code","i.start_date"))
    ->join(array('i' => "sle_instances"),"s.id = i.sle_id",array())
    ->where("i.id = ($subselect)")
    ->order('i.name asc');
    
    print($select);
    
    //SELECT `s`.`id`, `i`.`id` AS `instanceid`, `i`.`reference`, `i`.`name`, `i`.`sic_code`, `i`.`start_date` FROM `sles` AS `s` INNER JOIN `sle_instances` AS `i` ON s.id = i.sle_id WHERE (i.id = (SELECT max(id) FROM `sle_instances` WHERE (sle_id = s.id))) ORDER BY `i`.`name` asc
    


    1. PDOパラメータの配列を渡しながら、それらのタイプを指定するにはどうすればよいですか?

    2. ユーザー、スレッド、投稿を管理するための基本的なデータ構造のモデリング

    3. SQL ServerでNULLを別の値に置き換える方法– ISNULL()

    4. MariaDBで数値を含まない値を取得する方法