mysql 数据库中、根据4个级别查询、(管理处parent_id=0、小区=1、楼栋=2、单元=3)、sql语句怎么写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 数据库中、根据4个级别查询、(管理处parent_id=0、小区=1、楼栋=2、单元=3)、sql语句怎么写?相关的知识,希望对你有一定的参考价值。

比如where条件是小区、就查询小区下面的所有楼栋和单元、如果是楼栋、就查询该楼栋下的所有单元。
parent_id为父节点、district_level为等级类型、比如类型是为管理处还是小区。

你的描述很清晰,但是你将问题复杂化了,没有分析清楚其中的思路,你如果要查找楼栋2,你必须输入查询条件为楼栋2的名称,那么查找语句就很简单,select district _name form tablename where id = (select parent_id from tablename where distict_name = "") union select district _name from table name where parent_id = (select id from tablename where distict_name ="" ) ,我这种只可以查询上下两个级别,如果你想扩充,那么写存储过程,进行判断,存储过程中输入两个参数,一个是名称,一个是等级,根据等级判断执行不同的案例。 参考技术A 小区
select * from tb where parent_id>1

楼栋
select * from tb where parent_id>2

综合一下
select * from tb where parent_id>‘4个基本中的一个’追问

我想要一个递归类型的SQL语句、一条语句能列出它们的关系。

追答

对不起,不明白你的意思,能举个例子吗?

参考技术B select * from table where parent_id > ? (?为你要查询的条件 0 - 4 之间) 参考技术C 把字段关系列一下

以上是关于mysql 数据库中、根据4个级别查询、(管理处parent_id=0、小区=1、楼栋=2、单元=3)、sql语句怎么写?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL用户及权限

MySQL 存储引擎

Mysql隔离级别

mysql递归查询

程序员面试宝典之Mysql数据库Innodb引擎的4个隔离级别

Mysql InnoDB的四个事务隔离级别和(分别逐级解决的问题)脏读,不可重复读,虚读