链接mysql中的表

时间:2011-05-29 14:29:38

标签: php mysql database

我需要知道如何在php / mysql设置中链接两个表然后对结果进行排名?
这是我的情况。

我有一个故事表:

storyid
writerid
title
story
submitdate

和投票表

voteid
userid
storyid
vote

我将投票存储为1,将投票存储为-1 我正在寻找一种方法来加入这两个表,然后根据他们收到的票数对故事进行排名/排序。
我对任何有关如何操作或不同的可能数据库架构的想法持开放态度。

1 个答案:

答案 0 :(得分:4)

我更喜欢保持桌子名称的单数。这不是一个“故事”表;它是一个包含多行的“故事”表。

投票只能归结为一个故事,所以这是两者之间的一对多关系。我将外键放在投票表中,让它指出与之相关的故事。如果您同意,请更改您的架构:从voteid表中删除story,并在storyid vote中将story作为select stories.storyid, sum(vote=-1) as down, sum(vote=1) as up from stories inner join votes on (stories.storyid = votes.storyid) group by stories.storyid 表的外键。

但话虽如此,也许您可​​以尝试这样的查询:

{{1}}

根据下面的ypercube评论进行了更正。