1

Video と Vote という 2 つのエンティティがあります。Vote は Video と多対 1 の関係にありますが、Video は Vote と関係がありません。投票数で並べ替えられた動画のリストを取得しようとしています。

次の SQL は、私が望むものを取得するために機能します。

SELECT video.*, COUNT(video_id) AS vote_count
    FROM video
    LEFT JOIN vote ON vote.video_id = video.id
    GROUP BY video.id
    ORDER BY vote_count DESC;

私はDQLで似たようなことを達成しようとしていますが、今のところうまくいきません:

SELECT vid.name, COUNT(vote.video_id) as vote_count
    FROM VideoVote\Video\Video vid
    JOIN vote.video vid
    GROUP BY video.id
    ORDER BY vote_count DESC
4

2 に答える 2

0

フリップありがとう。Video から Vote への 1 対多の関連付けを追加すると、次の DQL が機能します。

SELECT vid, COUNT(vote.id) AS HIDDEN vote_count
    FROM VideoVote\Video\Video vid
    LEFT JOIN vid.votes vote
    GROUP BY vid.id
    ORDER BY vote_count DESC
于 2013-10-10T13:37:28.977 に答える