Php 同一表上的SQL联接有2个条件

Php 同一表上的SQL联接有2个条件,php,mysql,sql,wordpress,Php,Mysql,Sql,Wordpress,我需要将两列合并成一行。列之间的键是post\u id 这是我的桌子(邮递): 下面是我试图输出的内容: post_id state city 36 California Los Angeles 37 Illinois Chicago 38 California San Diego 39 California San Diego 40 California Los Ange

我需要将两列合并成一行。列之间的键是
post\u id

这是我的桌子(邮递):

下面是我试图输出的内容:

post_id     state       city
36          California  Los Angeles
37          Illinois    Chicago
38          California  San Diego
39          California  San Diego
40          California  Los Angeles
以下是我使用的SQL,但得到的结果非常多:

SELECT a.post_id AS pID, a.meta_value AS state, b.meta_value AS city
FROM $wpdb->prefix"."postmeta AS a
LEFT JOIN $wpdb->prefix"."postmeta AS b
ON b.post_id = a.post_id
WHERE a.meta_key = 'cp_state'
AND b.meta_key = 'cp_city'

在我使用的live Wordpress表中,显然有数百个其他的
元键
,所以我需要它来过滤这两个
元键
cp\u城市
cp\u州

你应该使用内部连接而不是左连接

SELECT a.post_id AS pID, a.meta_value AS state, b.meta_value AS city
FROM       $wpdb->prefix"."postmeta AS a
INNER JOIN $wpdb->prefix"."postmeta AS b
ON b.post_id = a.post_id
WHERE a.meta_key = 'cp_state'
AND b.meta_key = 'cp_city'

应该使用内部联接而不是左联接

SELECT a.post_id AS pID, a.meta_value AS state, b.meta_value AS city
FROM       $wpdb->prefix"."postmeta AS a
INNER JOIN $wpdb->prefix"."postmeta AS b
ON b.post_id = a.post_id
WHERE a.meta_key = 'cp_state'
AND b.meta_key = 'cp_city'

哇!我发誓我尝试过这种类型的加入,但没有成功!非常感谢:)哇!我发誓我尝试过这种类型的加入,但没有成功!非常感谢:)