areaname areaid parentid
郑州 410100 410000
开封 410200 410000
洛阳 410300 410000
平顶山 410400 410000
安阳 410500 410000
鹤壁 410600 410000
新乡 410700 410000
焦作 410800 410000
濮阳 410900 410000
好比我们有以上一个行政区域规划表,我们如何来查询河南省下面的省市县区街道呢?很明显这是一个递归存储的过程,postgreSQL支持了递归查询
WITH RECURSIVE T AS (
select name areaname,areaid,parentid
from jh_area where parentid = '410000'
UNION ALL
select k.name areaname,k.areaid, k.parentid
from jh_area k, T
where T.areaid = k.parentid
) select * from T;
这里面的T,可以作为这个查询的结果作为一张虚拟表,根据这个结果再联合查询,就可以形成递归查询所有数据
最后修改于 2021-06-04 16:07:51
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

