2016-07-29 83 views
-1

我想弄清楚如何做到这一点我自己的,但它看起来像死对我来说。选择多个表格。 WordPress的

我在wordpress框架和一些自定义表下工作。

我试图达到的效果是非常简单的,但得到的方式也实在太多我的头现在。

我需要从tableOne前50个结果基础上,从tableOne的ID在tableTwo一些简单那里的条件下提到倍ammount的。

使用$wpdb类最新的WordPress搭建的,我可以用什么来实现这一目标? 感谢

这是一个简单的tableOne查询来获取所有帖子:

$allPosts = $wpdb->get_results("SELECT * FROM pokeGrid_images WHERE status='0' ORDER BY tempo DESC LIMIT ".$limit." OFFSET ".$offset."");

现在我需要从这个表中的前50个结果,根据其ID是在第二次提及的次数表这种结构:http://prntscr.com/byz2qw

编辑:

http://prntscr.com/byz79b

注:基本上这是一个论坛,表一有帖子,表二有点赞赏。 该表达式必须收集最近X天内最多的已投票帖子。 如果它是1个帖子,表达式将是Select Count(*) FROM tableTwo Where tempo > then ".$variableWithUnixTimeDIff."

列速度是now()时间戳。

感谢

+0

在这里添加这些简单的条件,也添加你现在的代码。 tableTwo中提到“tableOne中的id”是什么意思?还要在tableOne中添加什么样的数据,表中有什么样的数据。2,添加表结构。 – Janno

+0

@Janno我添加了查询即时通讯使用收集所有帖子和第二个表的结构。 –

+0

给我一些来自两个表的示例数据,并给出其他表结构。然后我可以在我自己的系统上测试它,看看如何解决它。 – Janno

回答

0

注:基本上这是一个论坛,表中的一个有职位,表2中的 upvotes。该表达式必须收集最近X天内最有价值的帖子。如果它是1后,表达式将是Select Count(*) FROM tableTwo其中tempo> then“。$ variableWithUnixTimeDIff”。

SELECT *, Sum(score) AS totalScore FROM tableTwo INNER JOIN tableOne ON tableTwo.memeID = tableOne.id GROUP BY memeID ORDER BY totalScore DESC; 

尝试此查询。

//编辑 - 我刚刚创建我自己的数据的样本表。我只是创造了tableTwo,在此查询没有工作:

SELECT *, Sum(score) AS totalScore FROM tableTwo GROUP BY memeID ORDER BY totalScore DESC 

所以在这之后,只是内部联接从tableOne数据,也将努力!

+0

生病尝试。非常感谢你 –

+0

修改了一下这个查询。 – Janno

+0

如果它不起作用,请创建带有示例数据的表到这里:http://sqlfiddle.com/ – Janno