0

次のテーブルがあります。

posts
post_id | text    | posts_date
1       | blabla  | 06-06-2013
2       | bababa  | 09-06-2013
...

comments
comment_id | post_id | user_id | text            | comments_date
1          | 1       | 55      | I like this...  | 06-08-2013
2          | 1       | 66      | Yeah, me also!  | 06-07-2013
3          | 2       | 55      | I like this...  | 06-10-2013
4          | 2       | 66      | Yeah, me also!  | 06-11-2013
...

両方のテーブルからすべての列を返し、最初に posts_date で並べ替え、次にこの投稿の comments_date で並べ替える SQL ステートメントが必要です。

したがって、クエリの結果のテーブルは次のようになります

post_id | text    | posts_date  |  comment_id  | user_id | text            | comments_date
1       | blabla  | 06-06-2013  |   2          | 66      | Yeah, me also!  | 06-07-2013
1       | blabla  | 06-06-2013  |   1          | 55      | I like this...  | 06-08-2013
2       | bababa  | 09-06-2013  |   3          | 55      | I like this...  | 06-10-2013
2       | bababa  | 09-06-2013  |   4          | 66      | Yeah, me also!  | 06-11-2013

みたいなことを考えた

SELECT * FROM comments c, (SELECT * FROM posts ORDER BY posts_date ASC) p WHERE p.post_id = c.post_id ORDER BY comments_date ASC

しかし、それは正しい結果をもたらさなかったようです。

4

2 に答える 2

2
SELECT * 
FROM COMMENTS C JOIN POSTS P ON C.post_id = P.post_id 
ORDER BY P.posts_date,C.comments_date ASC
于 2013-07-07T15:00:01.740 に答える
1
Select * From Posts
inner join Comments on Posts.Post_id = Comments.Post_ID
order by posts.Post_date, comments.comment_date

は、コメント付きの投稿のみを提供します。

コメントがなくても投稿したい場合は、

Select * From Posts
left join Comments on Posts.Post_id = Comments.Post_ID
order by posts.Post_date, comments.comment_date

仲間に加わることを学び、彼らなしでは家を出ることができません。

于 2013-07-07T15:01:14.157 に答える