Mysql 查询联接相同表错误

Mysql 查询联接相同表错误,mysql,sql,join,subquery,Mysql,Sql,Join,Subquery,我的数据表如下所示: term_id description parent 3048 India 3047 3049 Srilanka 3047 3311 Tamilnadu 3048 3312 Karnataka 3048 3313 Kerala 3048 3314

我的数据表如下所示:

term_id         description     parent
 3048           India           3047
 3049           Srilanka        3047
 3311           Tamilnadu       3048
 3312           Karnataka       3048
 3313           Kerala          3048
 3314           columbu         3049
 3315           columbu1        3049
我想得到下表的结果

Country      State
 India       Tamilnadu
 India       Karnataka
 India       Kerala
 Srilanka    columbu
 Srilanka    columbu1
我尝试了以下方法,但没有得到确切的结果

SELECT b.description as country, 
  (SELECT a.description 
   FROM `xt_term_taxonomy` a 
   WHERE a.`parent` IN (b.term_id) ) as state 
FROM `xt_term_taxonomy` b 
WHERE a.`taxonomy` 

您能告诉我如何更新此项以获得所需的结果吗?

由于您同时需要父项(国家)和子项(州),您需要将表连接在一起:

SELECT 
    c.description as country, 
    s.description as state
FROM `xt_term_taxonomy` c 
INNER JOIN `xt_term_taxonomy` s 
    on c.term_id = s.parent;

内部联接将返回所有国家及其状态,如果您希望所有国家(即使它们没有状态),则使用左联接。这是一个。

这不是连接,这是一个子查询。
选择a.描述,B.描述,从xt\U术语分类法a左连接xt\U术语分类法B,在a.term\u ID=B.Parent上使用维恩图解释连接: