2016-07-29 59 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