我在wordpress数据库上使用的查询遇到了一些问题。下面的查询返回meta_value
的正确和预期数据但我的问题来自于我没有从子查询获得原始post_id
的字段,所以我无法将特定的meta_value
与原始的post_id
相关联 - 我可能需要对其进行重组,但我对如何返回与meta_value相关的数据感到有点迷茫找到。
SELECT meta_value
FROM wp_postmeta
WHERE post_id IN (SELECT meta_value FROM wp_postmeta WHERE post_id IN ('1','2','3','4'))
AND meta_key = '_wp_attached_file'
示例数据
post_id meta_key meta_value
1 _thumbnail_id 2
2 _wp_attached_file image.jpg
举个例子,给定一个或多个post_id('1')的列表,我找到meta_value('2')并查找另一个匹配post_id('2')和指定meta_key('的条目_wp_attached_file'),我需要返回meta_value('image.jpeg')和原始 post_id('1')
提前致谢
答案 0 :(得分:2)
只需使用自我加入:
select wp1.*, wp2.*
from wp_postmeta wp1, wp_postmeta wp2
where wp2.post_id in (1,2,3)
and wp1.meta_value = wp2.post_id and wp2.meta_key = '_wp_attached_file';