2016-05-18 6 views
0

私はMagentoのコレクションメソッドで書きたいと思っているSQLクエリを持っていますが、方法はわかりません。 私はgetSelect()とjoinLeft()メソッドを使用する必要があることを知っていますが、左結合の中にselectを配置する方法はわかりません。プログラムでMagento - SQLクエリ

クエリは次のとおりです。

SELECT 
    p.photo_id, 
    p.photo_name, 
    s.step_id, 
    s.step_name 
FROM Photo p 
LEFT JOIN (
    SELECT 
     photo_id, MAX(step_id) AS max_step_id 
    FROM photoStep 
    GROUP BY photo_id 
) ps 
    ON ps.photo_id = p.photo_id 
LEFT JOIN Steps s 
    ON s.step_id = ps.max_step_id 

答えて

0

私はここにあなたの最良の選択肢は、サブクエリを使用しないようにしようとするだろうと思います。ですから、SQLクエリを再作成してから、groupByField & addExpressionFieldToSelect関数を使用します。

->groupByField('photo_id') 
->addExpressionFieldToSelect("max_step_id", 'MAX({{step_id}})', 'step_id') 
関連する問題