Mysql 根据postmeta_键返回匹配的帖子
因此,我有以下SQL表及其所有匹配项:Mysql 根据postmeta_键返回匹配的帖子,mysql,sql,wordpress,Mysql,Sql,Wordpress,因此,我有以下SQL表及其所有匹配项: wp_postmeta wp_posts wp_1_postmeta wp_1_posts wp_2_postmeta wp_2_posts 然后,我使用下面的SQL查询来搜索并返回'wp\uu…\postETA表中匹配的所有meta\u key“\u taleo\u id” SELECT * FROM wp_postmeta WHERE meta_key = '_taleo_id' union all SELECT * F
wp_postmeta
wp_posts
wp_1_postmeta
wp_1_posts
wp_2_postmeta
wp_2_posts
然后,我使用下面的SQL查询来搜索并返回'wp\uu…\postETA表中匹配的所有meta\u key
“\u taleo\u id”
SELECT *
FROM wp_postmeta
WHERE meta_key = '_taleo_id'
union all
SELECT *
FROM wp_1_postmeta
WHERE meta_key = '_taleo_id'
union all
SELECT *
FROM wp_2_postmeta
WHERE meta_key = '_taleo_id'
我得到了以下结果:
既然现在我有了基于meta\u键的匹配post\u id
,我如何查看wp\u posts
或wp\u 1\u posts
表并返回与post\id
匹配的post
示例:
在上面的屏幕截图中,我们有一个匹配的meta_键
,其post_id
为252,现在如果我跳入wp_posts
表,我将看到如下结果-因此我基本上希望在一个视图中打印出所有具有taleo id匹配meta_键的帖子
您可以使用加入:
SELECT p.*
FROM wp_postmeta pm join
wp_posts p
on p.id = pm.post_id
WHERE pm.meta_key = '_taleo_id'
UNION ALL
SELECT p.*
FROM wp_1_postmeta pm join
wp_1_posts p
on p.id = pm.post_id
WHERE pm.meta_key = '_taleo_id'
UNION ALL
SELECT p.*
FROM wp_2_postmeta pm join
wp_2_posts p
on p.id = pm.post_id
WHERE pm.meta_key = '_taleo_id';
我不明白为什么你有多个帖子和元数据表。这似乎很不寻常。为什么有多个post和meta表?@GordonLinoff,WordPress多网站就是这样工作的,它有多个网站,所以它使用了wp_1_posts或wp_2_postmeta
前缀,我基本上是想打印出我们所有网站上的所有帖子,在一个视图中有一个匹配的taleo_id。你不能为所有网站使用一个中央数据库吗?无论如何,我已经在下面给出了答案,但是将数据分成三部分似乎很奇怪——特别是如果您想将其作为单一来源进行分析的话。