Mysql 合并两个结果集以替换列中的值

Mysql 合并两个结果集以替换列中的值,mysql,sql,wordpress,join,Mysql,Sql,Wordpress,Join,我有两个SQL结果数据集,需要合并成一个,如下所示: Final Merged Table ------------- 320 Sydney 321 Brisbane 322 Melbourne 实现这一点的SQL稍微复杂一些,因为每个数据列都作为单独的记录保存在DB中,并与用户ID相对应(这是由于Wordpress及其存储“meta_值”数据的方式) 第一个结果集: User Table (A) ------------- 320 119 321 120 322 121 Locati

我有两个SQL结果数据集,需要合并成一个,如下所示:

Final Merged Table
-------------
320 Sydney
321 Brisbane
322 Melbourne
实现这一点的SQL稍微复杂一些,因为每个数据列都作为单独的记录保存在DB中,并与用户ID相对应(这是由于Wordpress及其存储“meta_值”数据的方式)

第一个结果集:

User Table (A)
-------------
320 119 
321 120 
322 121 
Location Table (B)
-------------
119 Sydney
120 Brisbane
121 Melbourne
通过以下方式实现:

SELECT wp_frm_items.id, meta_value AS city  FROM `wp_frm_items` 

INNER JOIN `wp_frm_item_metas` on wp_frm_item_metas.item_id = wp_frm_items.id 

WHERE `form_id` = 9 AND  field_id = 219
SELECT wp_frm_items.id, meta_value FROM `wp_frm_items` 

INNER JOIN `wp_frm_item_metas` on wp_frm_item_metas.item_id = wp_frm_items.id 

WHERE `form_id` = 10
第二个结果集:

User Table (A)
-------------
320 119 
321 120 
322 121 
Location Table (B)
-------------
119 Sydney
120 Brisbane
121 Melbourne
通过以下方式实现:

SELECT wp_frm_items.id, meta_value AS city  FROM `wp_frm_items` 

INNER JOIN `wp_frm_item_metas` on wp_frm_item_metas.item_id = wp_frm_items.id 

WHERE `form_id` = 9 AND  field_id = 219
SELECT wp_frm_items.id, meta_value FROM `wp_frm_items` 

INNER JOIN `wp_frm_item_metas` on wp_frm_item_metas.item_id = wp_frm_items.id 

WHERE `form_id` = 10
MySQL一直告诉我,在第7行“内部连接”的最终连接代码中有一个错误: (以上两条SQL语句工作正常)


有谁能帮我解释一下我是如何做到这一点的吗?

你很接近了。简而言之,您不需要join子句中的
SELECT*FROM
,只需指定(派生)表本身:

SELECT * 

FROM (SELECT wp_frm_items.id, meta_value AS city  FROM `wp_frm_items` 
INNER JOIN `wp_frm_item_metas` on wp_frm_item_metas.item_id = wp_frm_items.id 
WHERE `form_id` = 9 AND  field_id = 219 ) AS A 

INNER JOIN
    (SELECT wp_frm_items.id, meta_value FROM `wp_frm_items` 
    INNER JOIN `wp_frm_item_metas` on wp_frm_item_metas.item_id = wp_frm_items.id 
    WHERE `form_id` = 10) AS B 

ON A.city = B.id

非常感谢。就这样!哇,说你在那里疯了。你救了我的命。我接受这个答案。再次感谢。