2016-12-02 101 views
1

我试图从Wordpress wp_postmeta表中获取附件帖子id(post_id),该表格并未作为帖子的缩略图关联。如何编写一个sql查询以获得以下结果?

我目前使用下面的查询

select * from wp_postmeta where meta_key = '_wp_attached_file' 

其给出的结果就像下面

enter image description here

然后我得到的职位,其使用下面的查询已经有一个附件让所有的附件

select * from wp_postmeta where meta_key = '_thumbnail_id' 

其中g艾夫斯导致像下面

enter image description here

通过比较这些结果,我发现了独立的文件

这是这些高亮行

enter image description here

而不是运行两个查询和比较它使用PHP,有办法得到我想要使用一个MySQL查询的结果吗?如果是的话,任何帮助,将不胜感激

问候

+0

你只想要那些缩略图丢失的记录,对吗? – 1000111

+0

添加到'WHERE'子句 –

+0

在'where'子句前添加'left join'子句 –

回答

1

这应该工作。

select t1.* from wp_postmeta t1 where t1.meta_key = '_wp_attached_file' AND t1.post_id NOT IN (select t2.meta_value from wp_postmeta t2 where t2.meta_key = '_thumbnail_id') 

注意这个查询有因为嵌套查询的性能问题。