我的数据表如下所示:
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`
您能告诉我如何更新它以获得所需的结果吗?
答案 0 :(得分:1)
既然你想要父(国家)和子(国家),你会想要一起加入桌子:
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;
INNER JOIN将返回所有国家及其州,如果您想要所有国家,即使他们没有州,也请使用LEFT JOIN。这是demo。