我需要帮助加入三个表,这个图像显示了字段和表名。
从数据库中提取:
voting table
id name closed date votes_up votes_down
4 29192 0 1467441761 32 14
21 14427 0 1467450299 1 0
20 14464 0 1467449751 0 0
14 27345 0 1467447075 0 0
9 27329 0 1467443096 1 0
games table
id id_gamepressure id_gamepressure2 title
256 8228 10759 Yu-Gi-Oh! World Championship 2007
512 2520 9294 Boulder Dash Rocks!
768 10155 12664 SpongeBob vs. The Big One. Beach Party Cook-Off
1024 9587 8484 Nacho Libre
images table
id id_game id_gamepressure filename
30695 10001 173814 10001_deca-sports_11792.jpg
30690 10001 173819 10001_deca-sports_1524.jpg
30692 10001 173817 10001_deca-spoets_3551.jpg
30694 10001 173815 10001_deca-sportss_572.jpg
30693 10001 173816 10001_deca_sports_8866.jpg
30691 10001 113818 10001_deca-sports_9417.jpg
基本上我希望能够通过"投票表"找到最受欢迎的游戏。使用字段" votes_up"然后将其与"游戏表#34;进行链接最后使用" images表"
我希望以列表形式显示它,按最高投票游戏排序。
像这样:答案 0 :(得分:0)
像这样的东西,我不知道图像中的实际表名。或者你想要哪些领域。
SELECT
g.id,
i.id //or whatever fields you want.
FROM
games AS g
INNER JOIN
images AS i
ON
g.id = i.id_game
LEFT JOIN
votes AS v
ON
g.id = v.name
ORDER BY
v.votes_up
DESC
在这种情况下,由于投票已经是一笔金额,你不必像我想的那样计算它们(投票将是每次投票1排,这就是我的想法)
我使用左连接,但是我想要最多投票的游戏,这真的不重要。
确保id是索引以及投票计数或排序将会破坏性能。