我需要查询Wordpress数据库。
第一个表格为wp_posts
:在此表格中,我需要检索ID
和post_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_type
,post_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,而不仅仅是一个
答案 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";