【发布时间】:2020-05-17 01:26:59
【问题描述】:
我想创建一个反向家谱(谱系),从孩子开始并显示整个系列,直到第一对夫妇。 我的数据库有 1000 条条目,并且有一个架构和附带的示例,如下所示:
0 id | 17444
5 Sire | 100
6 did | 203
7 Dam | 102
11 Name | Bruce
孩子由名字代表并且做了。条目 Dam 和 Sire 也是 dids。
我尝试过类似以下的操作:
def pedigree(did):
con = sqlite3.connect('subjects.db')
cursor = con.execute('SELECT * FROM animals where did IS "%s" ' % did)
for row in cursor:
print(row[11])
pedigree(row[5])
pedigree(row[7])
这会打印出一堵墙,例如:
Bruce
Thomas
Martha
Partick
Sara
Kenneth
Catherine
我想我应该使用某种 ADT,但我从大学开始就没有搞砸过。 任何有用的建议都会很棒! 这不是学校作业,这是我妻子想要的,哈哈。
这个问题和我自己的几乎一模一样,他们的问题也差不多:Pedigree/Family tree chart from database
【问题讨论】:
标签: python sql sqlite select recursive-query