+---------------------------+
| ID | PARENT | NAME |
+----+--------+-------------+
| 1 | 0 | 祖父 |
+----+--------+-------------+
| 2 | 1 | 父亲 |
+----+--------+-------------+
| 3 | 1 | 叔伯 |
+----+--------+-------------+
| 4 | 2 | 自己 |
+----+--------+-------------+
| 5 | 4 | 儿子 |
+----+--------+-------------+
| 6 | 5 | 孙子 |
+----+--------+-------------+
| 7 | 2 | 姐妹 |
+----+--------+-------------+
| 8 | 3 | 表亲 |
+----+--------+-------------+
| 9 | 7 | 甥儿 |
+----+--------+-------------+
| 10 | 4 | 女儿 |
+----+--------+-------------+
| 11 | 10 | 外孙 |
+----+--------+-------------+
| 12 | 5 | 孙女 |
+----+--------+-------------+
| .. | ... | .... |
+---------------------------+以上为族系表family。1、已知任一ID,求直系上辈族系树,如已知 ID=11, 返回array(
array(11, 10, 外孙),
array(10, 4, 女儿),
array(4, 2, 自己),
array(2, 1, 父亲)
array(1, 0, 祖父)
)
2、已知任一ID,求其小辈列表,如已知 ID=4,返回array(
array(4, 2, 自己),
array(5, 4, 儿子),
array(6, 5, 孙子),
array(12, 5, 孙女),
array(10, 4, 女儿),
array(11, 10, 外孙)
)
直系上辈还有曾祖、曾曾祖……小辈还有曾孙、曾曾孙……等可能
上辈直系族系树顺序必须是从长到幼或从幼到长的顺序。
小辈结果集可以任意顺序。
可能要自己定义存储过程。这个算法叫做Bill of material算法,网上搜索一下。