相关疑难解决方法(0)

查找分层字段的最高级别:有与没有 CTE

注意:此问题已更新以反映我们目前正在使用 MySQL,这样做后,我想看看如果我们切换到支持 CTE 的数据库会更容易。

我有一个带有主键id和外键的自引用表parent_id

+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| id         | int(11)      | NO   | PRI | NULL    | auto_increment | 
| parent_id  | int(11)      | YES  |     | NULL    |                | 
| name       | varchar(255) | YES  |     | NULL    |                | 
| notes      | text         | YES  |     | NULL    |                | 
+------------+--------------+------+-----+---------+----------------+
Run Code Online (Sandbox Code Playgroud)

给定 a name,如何查询顶级父级?

给定 a name,如何查询id …

mysql hierarchy

65
推荐指数
3
解决办法
8万
查看次数

MySQL:树层次查询

MySQL中树中的子树

在我的 MYSQL 中Database COMPANY,我有一个Table: Employee递归关联,一个员工可以是其他员工的老板。A self relationship of kind (SuperVisor (1)- SuperVisee (?) ).

创建表的查询:

CREATE TABLE IF NOT EXISTS `Employee` (
  `SSN` varchar(64) NOT NULL,
  `Name` varchar(64) DEFAULT NULL,
  `Designation` varchar(128) NOT NULL,
  `MSSN` varchar(64) NOT NULL, 
  PRIMARY KEY (`SSN`),
  CONSTRAINT `FK_Manager_Employee`  
              FOREIGN KEY (`MSSN`) REFERENCES Employee(SSN)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Run Code Online (Sandbox Code Playgroud)

我插入了一组元组(查询):

INSERT INTO Employee VALUES 
 ("1", "A", "OWNER",  "1"),  

 ("2", "B", "BOSS",   "1"), # Employees under OWNER 
 ("3", "F", "BOSS",   "1"), …
Run Code Online (Sandbox Code Playgroud)

mysql stored-procedures

23
推荐指数
1
解决办法
7万
查看次数

标签 统计

mysql ×2

hierarchy ×1

stored-procedures ×1