我正在使用 WordPress。我想从 wp_posts
表中获取所有内容,并从 postmeta
表中获取两个值。
“wp_postmeta”具有“post_id”、“meta_key”和“meta_value”列。
到目前为止,我能够获得“meta_value”之一:
SELECT wp_post.*, $wpdb->postmeta.meta_value AS votes
FROM wp_posts
INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id )
WHERE post_type='post'
AND wp_postmeta.meta_key = 'votes'
但是,我还想获得另一个具有相同“post_id”但不同“meta_key”的“meta_value”。如何将此查询扩展到“meta_value”?
最佳答案
如何使用 IN
子句将额外的 meta_key 添加到查询中。假设它是您要添加的字符串值 foo
:
SELECT wp_post.*, $wpdb->postmeta.meta_value AS votes
FROM wp_posts
INNER JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id )
WHERE post_type='post'
AND wp_postmeta.meta_key IN ('votes', 'foo');
关于mysql - 从 MySQL 中的多个表中获取多行中的多个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7296477/