web-dev-qa-db-ja.com

投稿とコメントを組み合わせてアクティビティストリームを作成する方法

私が現在作ろうとしているのは、リストに載っているアクティビティストリームです。

  • 投稿、
  • コメント、
  • 両者は混在し、日付順に並べられています。

私の考えは二つの質問をすることですが、私はそれらをどのように混ぜ合わせるかわかりません。これが私の質問です。

// Query the posts :
$queryPosts = "
    SELECT * FROM $wpdb->posts
    WHERE post_type = 'post'
    AND post_status = 'publish'
    ORDER BY post_date DESC
";

// Query the comments :
$queryComments = "
    SELECT * FROM $wpdb->comments
    ORDER BY comment_date DESC
";

それはある種のSQL JOINで可能ですか?

更新:
SQL UNIONの使用に関して@scribuによって提案されたことを試してみましたが、うまく機能していました。

SELECT ID AS entry_id, post_date AS entry_date, post_content AS entry_content FROM $wpdb->posts
WHERE post_type = 'post'
AND post_status = 'publish'
UNION
SELECT comment_ID AS entry_id, comment_date AS entry_date, comment_content AS entry_content FROM $wpdb->comments
ORDER BY entry_date DESC

私が今やろうとしているのはpostsテーブルにあり、commentsテーブルにはないいくつかのデータにアクセスすることです。何か案が ?

事前に感謝します。

3
inwpitrust

私はあなたが探していると思います SQL UNION

3
scribu