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上使用维恩图解释连接: