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'
哇!我发誓我尝试过这种类型的加入,但没有成功!非常感谢:)哇!我发誓我尝试过这种类型的加入,但没有成功!非常感谢:)