MySQL 加入同一张表

标签 mysql sql

我有包含以下字段的“元数据”表:

  • 编号
  • post_id
  • 元 key
  • 元值

我想遍历并显示每个帖子 (post_id) 的列表,其中包含 meta_key='abc'没有 一个用于 meta_key='def'

基本上,每个有 meta_key='abc' 条目的帖子都应该有一个 meta_key='def' 条目。我想生成列表,以便我可以添加缺少的 meta_key='def' 条目。

最佳答案

要实现这一点,您应该使用 LEFT OUTER JOIN操作加入同一张表

SELECT a.*
FROM meta_data a
LEFT OUTER JOIN meta_data b ON a.post_id = b.post_id AND b.meta_value = 'def'
WHERE 
a.meta_value = 'abc'
AND b.post_id IS null

关于MySQL 加入同一张表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10576033/

相关文章:

php - 我如何在 SELECT ... INTO OUTFILE 'result.csv' 后保存文件

javascript - 每次有人插入数据库时​​ PHP MYSQL Javascript 都会播放音频

mysql - 根据总计数获取当前状态

MySQL语法错误,下划线

sql - 如何限制 SQL 查询的结果

mysql - 如何从三个关联表中获取数据

mysql - 查找作为给定字符串的起始字符串的列值。

mysql - 在具有多个记录的连接表中搜索

mysql - 如何用价格构建一个 "services"BD

sql - 在 Oracle 中使用单个更新语句更新两个依赖列