简体   繁体   English

MYSQL查询联接表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM