[英]MYSQL Query Joining Tables
Here is my query as is for a WP database. 这是我对WP数据库的查询。
$letters = $wpdb->get_col(
"SELECT DISTINCT LEFT(post_title,1) AS first_letter FROM $wpdb->posts
WHERE post_type = '$post_type' AND post_status = 'publish'
ORDER BY first_letter ASC"
);
It is a baby name database and I want to make a widget to separate male/female so I need to do a query like above but to get posts with only certain postmeta which below is the key and value I am looking for. 这是一个婴儿的名字数据库,我想制作一个小部件以区分男性/女性,因此我需要像上面进行查询,但要获取仅具有某些postmeta信息的帖子,而这正是我要寻找的关键和价值。
Key - spin2 按键-Spin2
Value - Male 价值-男性
How do I add this into the query since it is in a different table? 由于它在另一个表中,如何将其添加到查询中?
Thanks! 谢谢!
You just need to use an INNER JOIN
: 您只需要使用
INNER JOIN
:
SELECT DISTINCT LEFT(posts.post_title,1) AS first_letter
FROM $wpdb->posts AS posts
INNER JOIN $wpdb->postmeta AS meta
ON posts.ID = meta.post_id
WHERE posts.post_type = '$post_type'
AND posts.post_status = 'publish'
AND meta.meta_key = 'spin2'
AND meta.meta_value = 'Male'
ORDER BY first_letter ASC
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.