2017-01-31 5 views
0

私はphp zend frameworkで3つのテーブル従業員、製品、入札を結合したクエリを作成しました。 商品表には、購入者の従業員IDを保存していて、従業員名、列名enameから取得した売り手名の詳細を表示している列の購入者がいます。また、商品表から購入者IDを取得し、従業員表からのenameの照合。 my SQLクエリは以下のとおりです。 上記の機能は動作しません。zendフレームワーク内の別のテーブルから取得したIDに対応するテーブルから名前を取得する方法

$oSelect = $this->select() 
      ->setIntegrityCheck(false) 
      ->from(array("p" => "products","b" => "bid"), ('*')) 
      ->joinLeft(array("b" => "bid"), "b.product_id=p.product_id", array('bid_id','bid_amount')) 
      ->joinInner(array("e" => "employees"), "e.employee_id=p.employee_id",array('ename')) 
      ->where("p.verified = ?", "Yes") 
      ->where("p.sold_out = ?", "Yes") 
      ->group('p.product_id') 
      ->having("p.sale_end_date >= ?", date("Y-m-d")); 

このように、このクエリに上記の機能を追加するのに役立ちます。

答えて

0
Select query will be like this for displaying buyername 

$oSelect = $this->select() 
      ->setIntegrityCheck(false) 
      ->from(array("p" => "products","b" => "bid"), ('*')) 
      ->joinLeft(array("b" => "bid"), "b.product_id=p.product_id", array('bid_id','bid_amount')) 
      ->joinLeft(array("e" => "employees"), "e.employee_id=p.employee_id",array('ename')) 
->joinLeft(array("e1" => "employees"), "e1.employee_id=p.buyer_id",array('buyer_name' => 'ename')) 
      ->where("p.verified = ?", "Yes") 
      ->where("p.sold_out = ?", "Yes") 
      ->group('p.product_id') 
      ->having("p.sale_end_date >= ?", date("Y-m-d")); 
関連する問題