mysql - 如何计算 ID 在不同表的列中出现的次数
问题描述
提前道歉:我敢肯定这相对容易,并且被问到令人作呕,但我只是想不出正确的搜索。
基本上,我试图获取从一个表中查询的 ID 列表,然后查看哪些 ID 不会出现在另一个表的单独列中。
这是一个 Wordpress MySQL 数据库。作者通过元数据附加到帖子。作者和帖子都被视为用于数据库目的的帖子。有一张表包含两个帖子/作者:wp_posts
/ wp
。还有另一个表包含附加到帖子/作者的元数据:wp_postmeta
/ wm
。
我试图通过检查名为inwp_posts
的列从中获取作者列表,并查看哪些是孤儿,即未附加到帖子。meta_value
wp_postmeta
通过将作者的 IDwp_posts
显示在帖子的wm.meta_value
列中,作者与帖子相关联。'author'
但是作者本身是通过在同一列中具有值来声明的。因此 ID 为的Author 将具有 in17078
的'author'
值wm.meta_value
,而归属于该 Author 的 Post 将具有17078
in wm.meta_value
。
通过返回我们数据库中的所有作者,以下查询让我走到了一半:
SELECT
post_title,
ID
FROM
wp_posts wp
JOIN
wp_postmeta wm
ON
wp.ID = wm.post_id
WHERE
wm.meta_value = 'author'
我需要以某种方式获取返回的列表并突出显示哪些 ID 没有显示在wm.meta_value
所有帖子的列中。任何建议或指导将不胜感激。
解决方案
你需要以下 -
SELECT ID
FROM wp_postmeta wm
WHERE wm.meta_value = 'author'
AND NOT EXISTS (SELECT 1
FROM wp_postmeta wm2
WHERE wm2.ID = wm.ID)
推荐阅读
- java - JavaFX - 从另一个类更改组件 - NullPointer
- amazon-web-services - 如何从 EventBridge 规则中定义阶跃函数执行名称?
- python - 如何使用服务帐户将共享谷歌驱动器中的文件移动到垃圾箱
- java - 在 Amazon S3 存储桶上上传文件时出现 NoSuchMethoError
- docker - Azerothcore - Docker .env MySQL-密码不起作用
- reactjs - WebStorm 中的 Redux-toolkit 操作参数
- c++ - 使用 Catch2 时未解决的外部符号错误
- jenkins - 如何使用 jenkins 变量作为执行命令
- javascript - 使用 Javascript 从 JSON 响应中获取 HTML 标记值
- recharts - 如何在 Rechart 中计算自定义 CartesianGrid 的线条。如何重新映射到正确的域