2013-04-24 64 views
-4

我有一個表與我的用戶和一個表與他們關注的人,我也有表的狀態更新英寸我需要按時間順序的狀態。我能想到的唯一辦法就是讓他們跟隨的人,然後逐一獲得他們的狀態,這意味着只有在一個人的時間順序。例如。ORDER BY日期多個表

泰勒 - 在聚會上玩得很開心。時間:下午1點
泰勒 - 大家早上好。時間:上午10點
本 - 人人都是什麼?時間:下午2

編輯----------

用戶表 Users table 狀態表 Status table 關注表 Followers table

用戶1就是按照用戶2

+0

你能證明你的表的數據結構,而不是? – Ibu 2013-04-24 05:47:12

+0

嘗試使用連接。您可以在一個查詢中獲取所有內容。 – datasage 2013-04-24 05:47:20

+5

你想讓我們猜你的表架構嗎? – 2013-04-24 05:47:34

回答

2

您將要使用連接。

東西沿着這些路線:

SELECT b.name, a.status, a.datetime FROM statuses a JOIN users b ON a.userid = b.id WHERE a.userid IN (SELECT c.userid FROM people c WHERE c.follower = :followerid) ORDER BY a.datetime 
+0

你能否請解釋一下這是做什麼的。我以前從未使用過連接。謝謝。 – 2013-04-24 06:09:38

+1

基本上我把你的3個表,通過他們的id與外鍵連接在一起,並通過另一個select子句過濾結果(where)。雖然這確實超出了這個問題的範圍。如果你不明白Sql Joins,你需要閱讀它們,否則這將永遠不會有任何意義。這裏是一個鏈接,讓你開始 - http://www.codinghorror.com/blog/2007/10/a-visual-explanation-of-sql-joins.html – 2013-04-24 06:18:36

+0

這不是我不明白他們,它是隻是我從來沒有用過它們。 謝謝。 – 2013-04-24 06:20:35