というテーブルとPosts
、 という 2 番目のテーブルがありますComments
。これらはid
、投稿テーブルのpostid
列とコメント テーブルの列によってリンクされています。
両方のテーブルには、date
投稿された日付を示す列があります。最新のアクティビティに基づいて投稿を並べ替えられるようにしたいので、投稿の日付 (コメントがない場合) または最新のコメントの日付で並べ替える必要があります。
これを行うために、次の単純なクエリを作成しました。
SELECT Posts.id FROM Posts
INNER JOIN Comments ON Posts.id = Comments.postid
ORDER BY Comments.date ASC
残念ながら、これには非常に明白な問題があります。投稿にコメントがない場合、その投稿は無視されます。投稿に複数のコメントがある場合、結果に複数回表示されます。
これらの要件を満たすクエリを作成するにはどうすればよいですか?