mysql - 如何编写sql查询以获得以下结果?

标签 mysql

我正在尝试从 Wordpress wp_postmeta 表中获取附件帖子 ID (post_id),该表未作为帖子的缩略图关联。

目前我正在使用以下查询获取所有附件

select * from wp_postmeta where meta_key = '_wp_attached_file'

结果如下

enter image description here

然后我使用下面的查询得到已经有附件的帖子

select * from wp_postmeta where meta_key = '_thumbnail_id'

结果如下

enter image description here

通过比较这些结果,我得到了未附加的文件

哪些是这些突出显示的行

enter image description here

有没有办法使用一个 MySQL 查询来获得我想要的结果,而不是运行两个查询并使用 PHP 进行比较?如果有任何帮助,我们将不胜感激

问候

最佳答案

这应该有效。

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')

请注意,由于嵌套查询,此查询存在性能问题。

关于mysql - 如何编写sql查询以获得以下结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40937429/

相关文章:

php - 显示MySQL表数据的逻辑错误

php - 我有文本框的数组变量,如何正确使用 $_POST?

Mysql 左外连接过滤方式

mysql - 在 MySQL 中为任何主机设置用户权限

php - 我想从数据库中选择 from 值

mysql - 如何使用 update() 在 Django 的日期时间字段上增加年份?

php - 如何将现有表映射到 laravel 中的模型

mysql - 从同一表的其他列更新 mysql 列字段值

mysql - 导出整个表结构,但仅通过 phpMyAdmin 从某些表中导出数据

MySQL - 项目总和问题