加入三个Wordpress表

时间:2017-08-07 07:44:09

标签: mysql wordpress one-to-many

我需要查询Wordpress数据库。

第一个表格为wp_posts:在此表格中,我需要检索IDpost_content post_title“A”的{​​{1}},{{1 }或“B”。这当然相当容易。

“C”

SELECT ID,post_content FROM `wp_posts` WHERE post_title IN ("A","B","C") and post_type = "plugin_is_writing_this_record" 是必要的,因为只有特定的Wordpress插件才能使用post_type写入记录。

问题是相同的插件(用于发送表单的插件)“删除”了我的重要信息:post_typepost_author中的{strong}通常用户的ID谁创建了帖子不是发布表单的用户的ID ,而是创建表单所在帖子的用户的ID。 我需要检索发布表单的用户的ID

使用wp_posts中帖子的ID,我可以从表wp_posts获取该用户的电子邮件。

如果以这种方式查询最后一张表:

wp_postmeta

你以这种方式得到数据(我减少了一些数据):

SELECT * FROM `wp_postmeta` WHERE post_id = 277125 (*)

此时,我知道meta_id | post_id | meta_key | meta_value ---------------------------------------------------------- 3 | 277125 | _from_email | from@mail.com 4 | 277125 | _field_your-surname | Surname 5 | 277125 | other_meta_key | otherdata 6 | 277125 | ... | ... 元值与发布表单的用户的邮件有关(我需要从此表中检索其他meta_keys,但这一个对查询和此功能都有用)问题)。

包含我需要的_from_email和用户的ID的表格是email,第三个表格。

是否可以一次查询三个表中的一个查询来检索我需要的数据?我尝试了一些JOINS,但我无法使它们正常工作。任何帮助表示赞赏。

(*)这是一个示例查询,我需要任何post_id,而不仅仅是一个

1 个答案:

答案 0 :(得分:0)

请尝试查询,

SELECT wp.ID,wp.post_content, wpm.*
FROM wp_posts wp
RIGHT JOIN wp_postmeta wpm ON wp.ID = wpm.post_id
WHERE 
wp.post_title IN ("A","B","C") 
AND wp.post_type = "plugin_is_writing_this_record";