城市分三级(省,市,县)并把市和县集合到一个字段里,怎么写数据集SQL?

我现在的问题是取不出没有县级城市的市
(
select
c.dc_province_city_d_id p1,
c.pc_name n1,
b.dc_province_city_d_id p2,
b.pc_name n2
from dc_province_city_d a
left join dc_province_city_d b on a.parent_id=b.dc_province_city_d_id
left join dc_province_city_d c on b.parent_id=c.dc_province_city_d_id
where c.parent_id=0 and b.dc_province_city_d_id='${D5}'
)
union all
(select
c.dc_province_city_d_id p1,
c.pc_name n1,
a.dc_province_city_d_id p2,
a.pc_name n2
from dc_province_city_d a
left join dc_province_city_d b on a.parent_id=b.dc_province_city_d_id
left join dc_province_city_d c on b.parent_id=c.dc_province_city_d_id
where c.parent_id=0 and c.dc_province_city_d_id='${D5}'
)

最终p1为省id,n1为省名称
p2为市和县id,n2为市和县名称

我要实现无论省市县有没有三级,都能取出

image.png

image.png

FineReport 孟祥运 发布于 2018-12-29 09:21 (编辑于 2018-12-29 13:56)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
axingLv6专家互助
发布于2018-12-29 10:02(编辑于 2018-12-29 14:53)

远程了一下

--市
select 
b.dc_province_city_d_id p1,
b.pc_name n1,
from dc_province_city_d a 
left join dc_province_city_d b on a.dc_province_city_d_id=b.parent_id
where a.parent_id=0 
and  a.dc_province_city_d_id='${D5}' 
--县
union all 
select 
c.dc_province_city_d_id p1,
c.pc_name n1,
from dc_province_city_d a 
left join dc_province_city_d b on a.dc_province_city_d_id=b.parent_id
left join dc_province_city_d c on b.dc_province_city_d_id=c.parent_id
where a.parent_id=0 
and  a.dc_province_city_d_id='${D5}'


最佳回答
0
我行我素Lv3初级互助
发布于2018-12-29 09:40

额,我能说一句数据库模型本身就有问题了吗。。。

  • 3关注人数
  • 389浏览人数
  • 最后回答于:2018-12-29 14:53
    请选择关闭问题的原因
    确定 取消
    返回顶部