1

特定の結果を返すために3つのテーブルを結合するSQLクエリに苦労しています。

私はワードプレスを使用して舞台裏でデータベースとのポストインタラクションを強化していますが、カスタムUIを構築しているので、ワードプレスに精通している人なら誰でも支援できるかもしれません。3つのテーブルは次のとおりです。

posts  (**ID**, post_title, post_content, post_modified_gmt)
term_relationships (**object_id**, term_taxonomy)
terms (**term_id**, name, slug)

私はどこまでも持っています。

 SELECT posts.post_title FROM posts
 INNER JOIN term_relationships
 ON posts.ID = term_relationships.object_id

これは、term_relationshipsでID番号が一致するすべての投稿タイトルのリストを返します。ただし、用語名はテーブル'terms'にあり、IDは他の2つのテーブルと一致しません。用語テーブルでは、term_idは用語の名前を指します。

term_id = 2, name = blog

基本的に、term_id = 2に設定すると、ブログと用語の関係があるテーブル投稿からすべての行が返されるクエリを実行しようとしています。つまり、クエリはすべてのブログ投稿を返し、完全に失われます。

誰かが私にいくつかのポインタを与えることができますか?私の心は途方に暮れています。

4

1 に答える 1

2

次のクエリで探していた結果を達成することができましたが、誰かがこれに出くわし、傾向がある場合は、いくつかの指針をいただければ幸いです:)

         SELECT * FROM posts
            INNER JOIN term_relationships
            ON posts.ID = term_relationships.object_id
         WHERE term_relationships.term_taxonomy_id = 2 
            AND posts.post_type = 'post' 
            AND posts.post_status = 'publish'
         ORDER BY posts.post_modified_gmt ASC
         LIMIT 0,5
于 2013-03-12T21:14:16.387 に答える