我有3张桌子
吸引用户和评分
用户包含user_id,draw包含绘图的ID和user_id谁是该绘图的所有者,在评级表中我保存给出评级的用户,draw_id和给出的分数。现在我需要向用户列出他收到的投票,所以我需要在收视率表中查看哪些用户投票了他的抽奖,但我不知道如何,因为我试过的查询仅列出了我1记录,我需要所有记录。
这样的事情:
5星|画名|用户
4星|画名|用户
这是我迄今为止的查询,我的目的是显示投票最多的用户,但不是这个。
SELECT u.usuario, u.id_usuario, d.id, COUNT(v.id) AS votos
FROM valoraciones v
JOIN dibujos d ON v.id_dibujo = d.id
JOIN usuarios u ON v.id_quien = u.id_usuario GROUP BY v.fecha ORDER BY votos DESC
这让我发疯了。
感谢任何帮助
答案 0 :(得分:1)
好的,这里的一些人认为发布一个帖子很有趣,我发布解决方案因为我知道它可能会有所帮助。
这是我构建的查询:
SELECT u.usuario, u.id_usuario, d.id, v.valoracion, v.fecha
FROM icar_valoraciones v
JOIN icar_dibujos d ON v.id_dibujo = d.id
JOIN icar_usuarios u ON v.id_quien = u.id_usuario WHERE d.id_quien = '{ID OF THE USER LOGGED IN}' GROUP BY v.id ORDER BY v.fecha DESC
你可以在这里找到它=> http://sqlfiddle.com/#!9/b44fe/2