2013-01-14 243 views
2

我有點新JOIN,我發現很難理解我怎麼可以查詢一個表ORDER BYLIMIT而且就在我的JOINED」只使用ORDER BY '我認爲這是表?所以基本上,如果我要單獨查詢兩個表,我會使用這些查詢:使用LIMIT和ORDER BY與LEFT JOIN在SQL查詢

SELECT * FROM posts ORDER BY dateSubmitted DESC LIMIT ?,5 

'?'站在我的bind_param(),因爲我正在創建一個分頁。現在我的「權利」二表:

SELECT * FROM postcomments WHERE postcomments.postID = posts.ID ORDER BY dateSubmitted DESC 

至於我的理解去「鏈接」這兩個表一起我想使用LEFT JOIN,讓我從「左」表收到我的所有數據(是帖子)。

SELECT * FROM posts LEFT JOIN postcomments ON postcomments.postID = posts.ID 

現在我能做到這一點,但我不確定,我想,但我ORDER BYLIMIT兩個表? 我已經看到了幾種不同的方式,我認爲這是什麼讓我困惑就像我已經看到了這個:

SELECT p.* FROM posts p ORDER BY posts.dateSubmitted DESC LIMIT ?,5 
LEFT JOIN (SELECT * FROM postcomments 
WHERE postscomments.postID = p.ID ORDER BY postcomments.dateSubmitted); 

但我真的不知道該如何構建我的查詢:S任何幫助表示讚賞:)

+0

你能解釋一下後面將限制對「兩」表使用方案幫助的想法? – shahkalpesh

+0

表格文章只有一個限制。後評論表是'ORDERED',但不限於此。因爲我想創建一個分頁,所以只有posts表是有限的。像0到5,然後5到10等 – sourRaspberri

回答

1

這將是在這樣的結尾:

Select * from 
(SELECT * FROM posts ORDER BY dateSubmitted DESC LIMIT ?,5) as tempPost 
LEFT JOIN postcomments on (postscomments.postID = tempPost.ID) 
+0

現在我認爲,但限制'JOIN'ed表的結果以及左表。 – sourRaspberri

+0

使用'posts.dateSubmitted,postcomments.dateSubmitted'多個訂單 –

+0

@Beneto:編輯了我的查詢,請檢查 –