私は次のSQLクエリを持っています
SELECT
vmm_user.username,
vmm_songs.*,
vmm_albums.desc,
vmm_albums.release,
vmm_albums.name,
AVG(vmm_songrating.rating) AS ratingavg,
COUNT(vmm_songrating.id) AS ratingcount
FROM
vmm_songs
LEFT JOIN
vmm_user
ON
vmm_songs.userid=vmm_user.id
LEFT JOIN
vmm_albums
ON
vmm_songs.albumid=vmm_albums.id
LEFT JOIN
vmm_songrating
ON
vmm_songs.id=vmm_songrating.songid
GROUP BY
vmm_songs.id
HAVING
COUNT(vmm_songrating.id) >= 2
ORDER BY
AVG(vmm_songrating.rating) DESC
LIMIT
10
これはうまくいきますが、ユーザーがすでに曲に投票したかどうかを知る必要があり、それが私の問題です
評価表はこんな感じ
id|songid|userid|評価
私はこのようなことを試しました
SELECT
...
COUNT(vmm_songrating.id) as hasvoted
...
OUTER JOIN
vmm_songrating
ON
vmm_songrating.userid = $id
...
$id はユーザー セッション ID です
しかし、それは機能しません:/