2011-12-30 18 views
0

ギャラリーの画像のリスト、投票数の合計、投票者の数を取得しようとしています。私は、SQLクエリを実行します。symfony2のSqlクエリ例外 - 左外部結合

SELECT img.id, img.title, img.image, img.thumb, img.link, img.published, 
     rating.sum, rating.voters 
    FROM AcmeMainBundle:Category cat, AcmeMainBundle:User usr, AcmeMainBundle:Image img     
    LEFT OUTER JOIN       
    (
     SELECT SUM(r.rating) as sum, COUNT(r.rating) as voters, r.image 
     FROM AcmeMainBundle:ImgRating r 
    ) AS rating ON rating.image = img.id 
    WHERE usr.username = :user AND cat.user = usr.id AND 
     cat.id = :category AND img.category = cat.id 
    ORDER BY img.order ASC, img.id DESC 

をしかし、私は例外を受け取る:

[Semantical Error] line 0, col 253 near 'SELECT SUM(r.rating)': Error:   
    Identification Variable (used in join path expression but was not defined before. 

答えて

1

うーん...私はそれが原因subquerys JOINを/から支持されているではありません信じています。

私があなただったら、「rating」と呼ばれるそのサブセレクトのビューを作成しようとします。それでも問題が解決しない場合は、別の方法でクエリを再構成する必要があります。

コメントできない場合はお手伝いします。

関連する問題