首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL关键词查询:按元值选择posts,但也包括类别

MySQL关键词查询:按元值选择posts,但也包括类别
EN

Stack Overflow用户
提问于 2015-03-20 00:40:09
回答 1查看 746关注 0票数 0

好吧,试着在这里发展忍者,但是有点卡住了。我需要一个真正的专家的帮助。提前谢谢。

此查询非常适合于从Wordpress外部返回post信息和类别:

代码语言:javascript
复制
SELECT wp_posts.ID,wp_posts.post_title,wp_terms.name as category FROM wp_posts
INNER JOIN wp_term_relationships ON wp_posts.ID = wp_term_relationships.object_id
INNER JOIN wp_term_taxonomy ON wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
INNER JOIN wp_terms ON wp_terms.term_id = wp_term_taxonomy.term_id
WHERE wp_term_taxonomy.taxonomy = 'category'
AND wp_posts.post_status = 'publish'

现在,这个查询非常适合按公司名称进行筛选,后者是存储在postmeta表中的meta字段。(下面的{$q}是经过消毒的公司名称)

代码语言:javascript
复制
SELECT ID,post_title,post_date,post_name,post_author FROM wp_posts,wp_postmeta 
WHERE ID = wp_postmeta.post_id AND meta_key = 'company'
AND meta_value = \"{$q}\" AND wp_posts.post_status = 'publish' 
ORDER BY post_date DESC

不管怎么说,这两个查询本身都工作得很好。但是,我想将它们合并到一个查询中,这样我就可以选择类别,但仍然可以按公司筛选。

有什么想法吗?我很想听听你对如何解决这个问题的想法。如果可以的话,我会给你3分的答案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-20 02:01:42

实现这一目标的一种方法是:

代码语言:javascript
复制
SELECT wp_posts.ID,wp_posts.post_title,wp_terms.name as vert FROM wp_posts
INNER JOIN wp_term_relationships on wp_posts.ID = wp_term_relationships.object_id
INNER JOIN wp_term_taxonomy on wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
INNER JOIN wp_terms ON wp_terms.term_id = wp_term_taxonomy.term_id
WHERE wp_term_taxonomy.taxonomy = 'category'
AND wp_posts.post_status = 'publish'
AND wp_posts.ID IN (SELECT post_id FROM wp_postmeta WHERE meta_key = 'company' AND meta_value = \"{$q}\" ) LIMIT 0,99999
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29157508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档