我正在使用 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/

10-10 19:18