1

我正在努力使用 SQL 查询来连接 3 个表以返回特定结果。

任何熟悉 wordpress 的人都可以提供帮助,因为我正在使用 wordpress 在后台与数据库进行交互,但正在构建自定义 UI。这三个表是: -

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 号的所有帖子标题的列表。但是,术语名称在表“术语”中,并且 ID 与其他两个表不匹配。在术语表中,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 回答