sayabluecup
2019-07-11 10:45
采纳率: 100%
浏览 347

mysql 查询问题,求大神帮忙

mysql查询问题

条件:
rural_basic_address表:存放的是基础地区信息表

        关键字段
            region_name:地区名       region_code:地区行政编号
            pids:父级地区行政编号。

图片说明

rural_basic_address_message :详细的乡镇信息。自己手动添加的

         关键字段
            region_code:地区code     pids:    pids:父级地区行政编号。

图片说明

问题:
传入一个省级CODE 查出下面的市有哪些已提交的村镇信息数量。没有村镇信息的市不查询。

例如
传入了韶关市code 则查询出了武江区有三个已提交的乡镇信息

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • chinarealone 2019-07-11 17:20
    已采纳
    1. 库表设计不合理,不应该用一个字段包含多级关系,这样也不利于树形结构的UI维护
    2. 在库表设计合理的前提下,可以考虑在服务端写存储过程,实现递归查询 以前做过的erp系统,物料表bom是有10万+零件构成的树形结构,就是遵循上述两条原则完成的
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 评论
    解决 无用
    打赏 举报
  • Flying_with_you 2019-07-11 11:18

    select m.* from rural_basic_address a,rural_basic_address_message m where m.pids like a.region_code||‘%’ and a.region_name='韶关市'.
    数据最好pid只存父code。别把所有的父code都存一个字段里。这样就可以用树遍历的sql去遍历。很方便。

    评论
    解决 无用
    打赏 举报
  • 哆啦A梦丶幻想 2019-07-11 15:53

    rural_basic_address,rural_basic_address_message字段pids 字段能不能拆成多对多关系表

    评论
    解决 无用
    打赏 举报
  • xwh1314 2019-07-11 16:08

    select * from rural_basic_address where
    pids in (select r.pids from rural_basic_address r where r.pid='440200')

    评论
    解决 无用
    打赏 举报
  • 德玛洗牙 2019-07-12 11:28

    你这应该是省、市、区、镇,你这pid应该存的就是直接父级吧,比如镇里面的pid存的是它属于哪个区吧,如果是这样可以通过pid去层层关联,不用pids啊

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题